Submission #593702

#TimeUsernameProblemLanguageResultExecution timeMemory
593702AlesL0Worm Worries (BOI18_worm)C++17
0 / 100
3 ms4176 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

mt19937 rng(time(nullptr));

int ask(int i){
    cout << "? " << i << " " << 1 << " " << 1 << endl;
    int x; cin >> x;
    return x;
}

int main(){
    int N, M, K, Q; cin >> N >> M >> K >> Q;
    vector <int> v(N+1, -1);
    v[0] = 0; v[N] = 0;
    int s = 1, e = N+1, m;
    while (e > s){
        m = (e+s)/2;
        int a = v[m-1], b = v[m], c = v[m+1];
        if (a == -1){a = ask(m-1); v[m-1] = a;}
        if (b == -1){b = ask(m); v[m] = b;}
        if (c == -1){c = ask(m+1); v[m+1] = c;}
        if (b >= a && b >= c){
            cout << "! " << m << " " << 1 << " " << 1 << endl;
            return 0;
        }
        else if (a > b)e = m;
        else s = m+1;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...