[C++][백준 28464] Potato

PublicMinsu·2024년 7월 25일

문제

접근 방법

감자튀김을 반씩 나누어 가져가는 것이다.
그중 절반은 큰 것부터, 나머지는 작은 것부터 가져가는 것이다.

코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N, sum, otherSum;
vector<int> a;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0);

    cin >> N;

    a = vector<int>(N);

    for (int &i : a)
    {
        cin >> i;
        sum += i;
    }

    sort(a.begin(), a.end());

    for (int i = 0; i < a.size() / 2; ++i)
    {
        otherSum += a[i];
    }

    cout << otherSum << " " << sum - otherSum;
    return 0;
}

풀이

결국 처음 나타난 수의 순서와 상관없이 현재 남은 수 중 가장 큰 값과 가장 작은 값을 가져가기에 정렬된 값을 반으로 나누어서 가져간다고 생각하면 된다.

profile
연락 : publicminsu@naver.com

0개의 댓글