제출 #1348385

#제출 시각아이디문제언어결과실행 시간메모리
1348385settopGuessing Game (EGOI23_guessinggame)C++20
30 / 100
377 ms6308 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;

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<<n/2<<endl;
        vector<int> q(2);
        fall(i,1,n-1){
            int x; cin>>x;
            q[x%2]++;
            cout<<q[x%2]<<endl;
        }
    }
    else{
        vector<vector<vector<int>>> f(2,vector<vector<int>>(n/2+1));
        vector<int> v(n); for(auto&u:v) cin>>u;
        bool ok=0;
        fall(i,0,n-1){
            int x=v[i];
            if(x>n/2){
                cout<<i<<endl;
                ok=1;
                break;
            }
            f[i%2][x].pb(i);
        }
        if(ok) return 0;
        fall(i,1,n/2){
            if(sz(f[0][i])<=1) continue;
            cout<<f[0][i][0]<<" "<<f[0][i][1]<<endl;
            ok=1;
            break;
        }
        if(ok) return 0;
        fall(i,1,n/2){
            if(sz(f[1][i])<=1) continue;
            cout<<f[1][i][0]<<" "<<f[1][i][1]<<endl;
            ok=1;
            break;
        }
        if(ok) return 0;
        cout<<f[0][n/2][0]<<" "<<f[1][n/2][0]<<endl;
    }
    
}

컴파일 시 표준 에러 (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...