Submission #1362853

#TimeUsernameProblemLanguageResultExecution timeMemory
1362853takoshanavaStaring Contest (BOI23_staringcontest)C++20
0 / 100
6 ms460 KiB
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fs first
#define sc second
using namespace std;

const int N = 1505;
int ans[N];
int ask(int a, int b){
    cout << "? " << a << " " << b << endl;
    int res;
    cin >> res;
    return res; 
}

signed main() {
    int n;
    cin >> n;
    vector<int> vec;
    for(int i = 1; i <= n; i++) vec.pb(i);
    int a = 1, b = 2, ab = ask(1, 2);
    for(int c = 3; c <= n; c++){
        int ac = ask(a, c), bc = ask(b, c);
        if(ac < ab){
            ans[c] = ac;
            continue;
        }
        if(ac > ab){
            ans[b] = ab;
            b = c;
            ab = ac; 
            continue;
        }
        ans[a] = ac;
        a = c;
        ab = bc;
    }
    ans[a] = ans[b] = ab;
    cout << "!" << endl;
    for(int i = 1; i <= n; i++) cout << ans[i] << " ";
}  
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...