Submission #1354868

#TimeUsernameProblemLanguageResultExecution timeMemory
1354868sallyGuessing Game (EGOI23_guessinggame)C++20
30 / 100
414 ms1588 KiB
#include<iostream>
#include<vector>
#include<map>
using namespace std;

int P, N;
void p1() {
    int cnt1 = 1, cnt2 = 1;
    cout<<N/2<<endl;
    for(int i = 0; i<N-1; i++) {
        int idx;
        cin>>idx;
        if(idx<N/2) {
            cout<<cnt1++<<endl;
        }else {
            cout<<cnt2++<<endl;
        }
    } 
}
void p2() {
    int g1 = -1, g2 = -1;
    vector<int> mp1(N, -1), mp2(N,-1);
    vector<int> nums(N);
    for(int i=0; i<N; i++) {
        int in;
        cin>>in;
        nums[i] = in;
    }
    for(int i=0; i<N; i++) {
        if(i<N/2) {
            if(mp1[nums[i]]!=-1) {
                g1 = mp1[nums[i]];
                g2 = i;
                break;
            }
            mp1[nums[i]] = i;
        }else {
            if(mp2[nums[i]] != -1) {
                g1 = mp2[nums[i]];
                g2 = i;
                break;
            }
            mp2[nums[i]] = i;
        }
    }
    if(g1 == -1 || g2 == -1) {
        g1 = mp1[N/2];
        g2 = mp2[N/2];
    }
    cout<<g1<<' '<<g2<<endl;
}
int main() {
    cin>>P>>N;
    if(P==1) p1();
    else p2();
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...