3.1.1. 아이디어 1 ¶
#include <iostream> #include <algorithm> #include <vector> bool cmp(int a, int b) {return a>b;} int main() { int TC; int k; std::cin>>TC; for(k=1;k<=TC;k++){ int n,m; std::vector<int> a; std::cin>>n>>m; for(int i=0;i<n;i++){ int t; std::cin>>t; a.push_back(t); } std::sort(a.begin(),a.end(),cmp); int res=0; for(int i=0;i<m;i++) res+=a[i]; std::cout<<"Case #"<<k<<std::endl<<res<<std::endl; } return 0; }
3.1.2. 아이디어 2 ¶
#include <iostream> #include <algorithm> #include <queue> int main() { int TC; int k; std::cin>>TC; for(k=1;k<=TC;k++){ int n,m; std::priority_queue<int> a; std::cin>>n>>m; for(int i=0;i<n;i++){ int t; std::cin>>t; a.push(t); } int res=0; for(int i=0;i<m;i++){ res+=a.top(); a.pop(); } std::cout<<"Case #"<<k<<std::endl<<res<<std::endl; } return 0; }