Submission #1348788

#TimeUsernameProblemLanguageResultExecution timeMemory
1348788settopGuessing Game (EGOI23_guessinggame)C++20
60 / 100
378 ms6320 KiB
#include<bits/stdc++.h>

using namespace std;

#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define all(x) x.begin(),x.end()
#define sz(x) (int)x.size()
#define pb push_back
const int MAXN=3e5+10;
const int inf=1e16;

//100000/500=200

int32_t main(){
    std::ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    srand(time(0));

    int P,n; cin>>P>>n;
    if(P==1){
        cout<<650<<endl;
        vector<int> q(400);
        fall(i,1,n-2){
            int x; cin>>x;
            q[x%400]++;
            cout<<q[x%400]<<endl;
        }
        int x; cin>>x;
        q[x%400]++;
        fall(i,0,399){
            if(q[i]!=250) cout<<251+i<<endl;
        }
    }
    else{
        vector<vector<vector<int>>> f(400,vector<vector<int>>(251));
        vector<int> v(n);for(auto&u:v) cin>>u;
        int cara=-1;
        fall(i,0,n-1){
            if(v[i]>250){
                if(cara!=-1){
                    cout<<cara<<" "<<i<<endl;
                    return 0;
                }
                cara=i;
            }
            else{
                f[i%400][v[i]].pb(i);
                if(sz(f[i%400][v[i]])>1){
                    cout<<f[i%400][v[i]][0]<<" "<<f[i%400][v[i]][1]<<endl;
                    return 0;
                }
            }
        }
        int x=v[cara]-251;
        cout<<f[x][250][0]<<" "<<f[x][250][0]<<endl;
    }
}

Compilation message (stderr)

guessinggame.cpp:11:15: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+16' to '2147483647' [-Woverflow]
   11 | const int inf=1e16;
      |               ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...