QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#129347#6135. BooksEnergy_is_not_over#AC ✓54ms4548kbC++171.7kb2023-07-22 15:54:372023-07-22 15:54:38

Judging History

This is the latest submission verdict.

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-22 15:54:38]
  • Judged
  • Verdict: AC
  • Time: 54ms
  • Memory: 4548kb
  • [2023-07-22 15:54:37]
  • Submitted

answer

//
// Created by Barichek on 22.07.2023 10:50:37
//

#include <bits/stdc++.h>

#define F first
#define S second
#define MP make_pair
#define PB push_back

#define all(a) a.begin(), a.end()
#define len(a) (int) (a.size())
#define mp make_pair
#define pb push_back
#define fir first
#define sec second

using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef long double ld;

#ifdef Energy_is_not_over
#define DEBUG for (bool ____DEBUG = true; ____DEBUG; ____DEBUG = false)
#define LOG(...) print(#__VA_ARGS__" ::", __VA_ARGS__) << endl

template<class ...Ts>
auto &print(Ts ...ts) { return ((cerr << ts << " "), ...); }

#else
#define DEBUG while (false)
#define LOG(...)
#endif

const int max_n = -1, inf = 1000111222;

void solve()
{
    int n,m;
    cin>>n>>m;
    vector<int> a(n);
    for (int i=0;i<n;i++){
        cin>>a[i];
    }

    vector<int> new_a;
    for (auto i:a){
        if (i!=0){
            new_a.pb(i);
        }
        else{
            m--;
        }
    }
    a=new_a;
    if (m<0){
        cout<<"Impossible"<<"\n";
        return;
    }

    if (m==len(a)){
        cout<<"Richman"<<"\n";
        return;
    }

    ll ans=0;
    for (int i=0;i<m;i++){
        ans+=a[i];
    }
    int min_on_suf=inf;
    for (int i=m;i<len(a);i++){
        min_on_suf=min(min_on_suf,a[i]);
    }
    cout<<ans+min_on_suf-1<<"\n";
}

int main() {
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int tests;
    cin>>tests;
    while (tests--){
        solve();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 0
Accepted
time: 44ms
memory: 4548kb

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:

1
0
Impossible
99999999999999
192
80
Richman
97
460
Richman
24
163
98
30
15
Richman
Richman
Richman
65
Richman
Richman
450
98
44
349
34
513
28
161
297
Richman
Richman
Richman
147
274
2
160
76
58
91
130
3
Richman
175
32
15
Richman
21
26
Richman
65
Richman
247
356
Richman
Richman
60
312
62
276
Richman...

result:

ok 10012 lines

Test #3:

score: 0
Accepted
time: 54ms
memory: 4484kb

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:

1
0
Impossible
99999999999999
Richman
Impossible
697
123
Richman
Impossible
Richman
335
Richman
Impossible
Richman
486
Richman
Impossible
57
41
Richman
Impossible
42
Richman
Richman
99
106
Richman
Richman
Impossible
Richman
Richman
Richman
Impossible
164
26
Richman
43
Richman
Richman
Richman
Impossi...

result:

ok 10012 lines