输入
4
4 2
1 2 4 8
4 0
100 99 98 97
2 2
10000 10000
5 3
0 0 0 0 1
6
96
Richman
Impossible
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int a[N];
int main(){
int T;
cin>>T;
while(T --){
int n,m;
cin>>n>>m;
for(int i = 0;i < n;i ++)cin>>a[i];
int zerocount = 0;
for(int i = 0;i < n;i ++)
if(!a[i])zerocount ++;
if(zerocount > m || m > n)cout<< "Impossible"<<endl;
else{
if(m == n)cout<< "Richman"<<endl;
else{
m = m - zerocount;
ll res = 0,num = 0;
int i;
for(i = 0;i < n && num < m;i ++){
if(a[i]){
res += a[i];
num ++;
}
}
int mi = 0x3f3f3f3f;
for(int k = i;k < n;k ++){
if(a[k])mi = min(a[k],mi);
}
if(mi != 0x3f3f3f3f)cout<< (res + mi - 1)<<endl;
else cout<<"Richman"<<endl;
}
}
}
return 0;
}
版权声明:本文为m0_46656833原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。