안녕하세요. 오늘은 장신구 명장이 될 거예요.

문제

https://www.acmicpc.net/problem/25496

아이디어

최대한 작은것부터 합시다.
현재 피로도가 200이상일 경우 그만둡니다.

소스코드

#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll P, N, i, arr[1010] = { 0 };

    cin >> P >> N;
    for (i = 1; i <= N; i++) cin >> arr[i];
    sort(arr + 1, arr + N + 1);
    
    for (i = 1; i <= N; i++)
    {
        if (P >= 200)
        {
            cout << i - 1;
            break;
        }
        P += arr[i];
    }
    if (i == N + 1) cout << N;
}


감사합니다.

0개의 댓글