QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#185148#6135. BooksCarpe_DiemWA 65ms5764kbC++201.3kb2023-09-21 18:07:192023-09-21 18:07:20

Judging History

This is the latest submission verdict.

  • [2023-09-21 18:07:20]
  • Judged
  • Verdict: WA
  • Time: 65ms
  • Memory: 5764kb
  • [2023-09-21 18:07:19]
  • 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(){ quick
    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

*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3644kb

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:

ok 4 lines

Test #2:

score: -100
Wrong Answer
time: 65ms
memory: 5764kb

input:

10012
1 0
2
3 2
0 1 0
2 1
0 0
100000 99999
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000...

output:

1061109566
-1
Impossible
99999999999999
192
80
Richman
1061109566
460
Richman
24
163
1061109566
30
15
Richman
Richman
Richman
65
Richman
Richman
450
98
1061109566
349
1061109566
513
1061109566
161
297
Richman
Richman
Richman
147
274
1061109566
160
1061109566
58
1061109566
130
27
Richman
175
10611095...

result:

wrong answer 1st lines differ - expected: '1', found: '1061109566'