Doki Doki Literature Club
阿新 • • 發佈:2018-12-18
原題連結
Hint
題目沒啥難度,就是按照不同的冒泡都能完成。根據公式將給定的單詞和幸福度排序即可。
#include <iostream> #include <algorithm> #include <cstring> #include <bits/stdc++.h> using namespace std; struct node { char word[50]; long long num; } s[110]; bool cmp(node a,node b){ if(a.num!=b.num)return a.num>b.num; if(a.num==b.num)return strcmp(a.word,b.word)<0; } int main() { int t,n,m,i; long long h; cin>>t; while(t--) { cin>>n>>m; for(i=0; i<n; i++) { cin>>s[i].word>>s[i].num; } sort(s,s+n,cmp); h=0; for(i=0; i<m; i++) { h+=(m-i)*s[i].num; } cout<<h<<" "; for(i=0; i<m; i++) { if(i!=m-1)cout<<s[i].word<<" "; else cout<<s[i].word<<endl; } } return 0; }