QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#185146#6135. BooksCarpe_DiemRE 0ms0kbC++201.3kb2023-09-21 18:06:442023-09-21 18:06:44

Judging History

This is the latest submission verdict.

  • [2023-09-21 18:06:44]
  • Judged
  • Verdict: RE
  • Time: 0ms
  • Memory: 0kb
  • [2023-09-21 18:06:44]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
using i128=__int128_t;
#define inf 0x3f3f3f3f
#define quick std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);
typedef long long ll;
typedef pair<ll,ll> PII;
typedef unsigned long long ull;

#define N 1000010
#define M 998244353
// 998244353 1000000007 1073741824
// 无序map unordered_map

int n,m;
int a[N];

void solve(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i];
    
    if(m==n){
        cout<<"Richman"<<endl;
        return;
    }

    int num0=0;
    for(int i=1;i<=n;i++){
        if(a[i]==0)num0++;
    }

    if(num0>m){
        cout<<"Impossible"<<endl;
        return;
    }

    int res=m-num0,pos=-1;

    ll ans=0;
    for(int i=1;i<=n;i++){
        if(res&&a[i]!=0){
            ans+=a[i];
            res--;
        }
        if(!res){
            pos=i;
            break;
        }
    }

    // cout<<"pos: "<<pos<<endl;

    int tn=inf;
    for(int i=pos+1;i<=n;i++){
        if(a[i]<tn){
            tn=a[i];
        }
    }

    ans+=tn-1;

    cout<<ans<<endl;
}

int main(){
    int t=1;
    cin>>t;
    while(t--){
        solve();
    }

	
	system("pause");
    return 0;
}

/*

4
4 2
1 2 4 8
4 0
100 99 98 97
2 2
10000 10000
5 3
0 0 0 0 1

*/

详细

Test #1:

score: 0
Dangerous Syscalls

input:

4
4 2
1 2 4 8
4 0
100 99 98 97
2 2
10000 10000
5 3
0 0 0 0 1

output:

6
96
Richman
Impossible

result: