본문 바로가기

백준/실버

[백준 16112번] 5차 전직 (C++)

문제링크 : https://www.acmicpc.net/problem/16112

 

16112번: 5차 전직

메이플스토리 뉴비 키파가 드디어 레벨 200을 달성하고 5차 전직이라는 시스템을 이용해 캐릭터를 더욱 강력하게 만들려고 합니다. 5차 전직을 하려면 먼저 퀘스트를 통해 아케인스톤이라는 아

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pil pair <int, int>

ll arr[300000];

int main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N, K;
    cin >> N >> K;

    for(int i=0; i<N; i++)
    {
        cin >> arr[i];
    }

    sort(arr, arr+N);

    ll sum = 0;
    
    for(ll i=1; i<=K; i++) //arr1 ~ arrK
    {
        ll result = arr[i] * i;
        sum += result;
    }

    for(ll i= K+1; i<N; i++)  //arrK+1 ~ arrN
    {
        ll result = arr[i] * K;
        sum +=result;
    }

    cout << sum;

}

1번 아케인스톤이 활성화 됐을 때, 쌓이는 경험치는 arr[1] ~ arr[N] (배열이 0부터 시작하기에 0 + 1 = 1)

K번 아케인스톤이 활성화 됐을 때, 쌓이는 경험치는 arr[K+1] ~ arr[N] 이다.