문제 링크입니다: https://www.acmicpc.net/problem/14921
백준 2470번 두 용액(http://jaimemin.tistory.com/680)과 동일한 문제였지만 용액의 합을 출력하는 문제였으므로 더 쉬운 문제였습니다.
#include <iostream>
#include <algorithm>
#include <climits> //LLONG_MAX
using namespace std;
const int MAX = 100000;
int N, idx1, idx2;
long long minimum;
long long liquid[MAX];
long long sumOf2Liquid(void)
{
int i = 0, j = N - 1;
while (i < j)
{
long long sum = liquid[i] + liquid[j];
//최소값 갱신
if (llabs(sum) < llabs(minimum))
minimum = sum;
//오름차순 정렬했으므로
if (sum < 0)
i++;
else
j--;
}
return minimum;
}
int main(void)
{
cin >> N;
for (int i = 0; i < N; i++)
cin >> liquid[i];
minimum = LLONG_MAX;
sort(liquid, liquid + N);
cout << sumOf2Liquid() << endl;
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 3043번 장난감 탱크 (0) | 2018.07.09 |
---|---|
백준 2407번 조합 (4) | 2018.07.08 |
백준 2470번 두 용액 (0) | 2018.07.08 |
백준 2473번 세 용액 (0) | 2018.07.08 |
백준 2563번 색종이 (2) | 2018.07.08 |