쾌락없는 책임 (공부)/알고리즘 문제풀이
백준 14921 - 용액 합성하기 ,C++
허스크
2021. 9. 19. 12:03
반응형
14921번: 용액 합성하기
홍익대 화학연구소는 다양한 용액을 보유하고 있다. 각 용액은 -100,000,000부터 100,000,000사이의 특성 값을 갖는데, 같은 양의 두 용액을 혼합하면, 그 특성값은 두 용액의 특성값의 합이 된다. 당
www.acmicpc.net
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n;
int main(){
scanf("%d", &n);
vector<int> liquid(n);
for(int i = 0; i < n; i++)
scanf("%d", &liquid[i]);
// pointer
int left = 0;
int right = n - 1;
int result = 2100000000;
// solution
while(left < right){
int liq1 = liquid[left];
int liq2 = liquid[right];
if(abs(liq1 + liq2) < abs(result))
result = liq1 + liq2;
if(liq1 + liq2 < 0)
left++;
else
right--;
}
printf("%d\n", result);
}
쉬운 두 포인터 알고리즘이었습니다.
반응형