알고리즘/BOJ

백준 14921번 용액 합성하기

꾸준함. 2018. 7. 8. 19:46

문제 링크입니다: 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