WA第二个点
查看原帖
WA第二个点
691067
snacks楼主2024/9/14 13:53
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5;
struct node {
	int n,q;
}a[N];
bool cmp(node a,node b){return a.n>b.n;}
int t,n,m;
int main()
{
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		cin>>n>>m;ll cnt=0,ans=0;
		for(int i=1;i<=n;i++){
			cin>>a[i].n;
			if(a[i].n!=0) cnt++;
		}
		if(n==m){
			cout<<"Richman"<<endl;
			continue;
		}
		sort(a+1,a+n+1,cmp);
		if(m==0&&a[n].n){
			cout<<a[n].n-1<<endl;
			continue;
		}
		if(cnt<m){
			cout<<"Impossible"<<endl;
			continue;
		}
		for(int i=n,tot=0;i>=1;i--){
			if(tot>m) continue;
			ans+=a[i].n;tot++;
		}
		cout<<ans-1<<endl;
	}
	return 0;
}
2024/9/14 13:53
加载中...