QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#428451#8777. Passport Stampsucup-team3646#WA 4ms3880kbC++17832b2024-06-01 19:36:552024-06-01 19:36:55

Judging History

你现在查看的是最新测评结果

  • [2024-06-01 19:36:55]
  • 评测
  • 测评结果:WA
  • 用时:4ms
  • 内存:3880kb
  • [2024-06-01 19:36:55]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;
#define all(A) A.begin(),A.end()
#define rep(i, n) for (ll i = 0; i < (ll) (n); i++)

int main() {

    cin.tie(nullptr);
    ios::sync_with_stdio(false);

    ll N,P;
    cin>>N>>P;
    vll A(N);
    rep(i,N)cin>>A[i];
    if(A[0]>P){
        cout<<0<<endl;
        return 0;
    }
    ll x=0;
    rep(i,N-1){
        x+=A[i];
    }
    x+=(A[N-1]-1)*(N-1);
    if(x+A[N-1]<=P){
        cout<<N<<endl;
        return 0;
    }
    ll L=0,R=N;
    while(R-L>1){
        ll M=(R+L)/2;
        ll x=0;
        rep(j,M){
            x+=A[j];
        }
        x+=(A[M]-1)*(M);
        // cout<<M<<" "<<x+A[M]<<" "<<P<<endl;
        if(x+A[M]<=P)L=M;
        else R=M;
    }
    cout<<R<<endl;
    

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3672kb

input:

5 15
1
2
3
4
5

output:

3

result:

ok single line: '3'

Test #2:

score: 0
Accepted
time: 4ms
memory: 3880kb

input:

100000 559309580160692839
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

84437

result:

ok single line: '84437'

Test #3:

score: -100
Wrong Answer
time: 3ms
memory: 3848kb

input:

100000 890934113082207108
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

output:

100000

result:

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