하루 1문제 챌린지/Silver1

백준 15903번 카드합체놀이 (C++)

그린푸딩 2024. 2. 16. 09:44
728x90
반응형

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

 

15903번: 카드 합체 놀이

첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1,

www.acmicpc.net

#include <iostream>
#include<vector>
#include<algorithm>

using namespace std;

int main()
{
   long long n,m;
   cin>>n>>m;
   
   vector<long long>arr;
   arr.assign(n,0);
   for(int i=0;i<n;i++){
       cin>>arr[i];
   }

   sort(arr.begin(),arr.end());
   
   while(m--){
       
       //서로 다른 가장 작은 수 찾기 
       long long a=arr[0];
       long long b=arr[1];
       long long sum=a+b;
       arr[0]=sum;
       arr[1]=sum;
       sort(arr.begin(),arr.end());
   }
   long long cnt=0;
   for(int i=0;i<arr.size();i++){
       cnt+=arr[i];
   }
   
   cout<<cnt;
   
   
    return 0;
}
728x90
반응형