Submission #357674

#TimeUsernameProblemLanguageResultExecution timeMemory
357674mario05092929Colors (BOI20_colors)C++11
0 / 100
1 ms396 KiB
#include <bits/stdc++.h> #define x first #define y second #define pb push_back #define all(v) v.begin(),v.end() #pragma gcc optimize("O3") #pragma gcc optimize("Ofast") #pragma gcc optimize("unroll-loops") using namespace std; const int INF = 1e9; const int TMX = 1 << 18; const long long llINF = 1e16; const long long mod = 1e9+7; const long long hashmod = 100003; const int MAXN = 100000; const int MAXM = 1000000; typedef long long ll; typedef long double ld; typedef pair <int,int> pi; typedef pair <ll,ll> pl; typedef vector <int> vec; typedef vector <pi> vecpi; typedef long long ll; int n,x,l,r,val; int ask(int what) { cout << "? " << what << endl; int tmp; cin >> tmp; return tmp; } void answer(int what) { cout << "= " << what << endl; exit(0); } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; if(n == 1) answer(1); if(n == 2) { ask(1); val = ask(2); answer(1+!val); } val = ask(1); val = ask(n); if(!val) answer(n); val = ask((n+1)/2); if(val) { l = 3, r = (n+1)/2-1; int x = 2; for(int len = (n+1)/2-2;len >= 1;len--) { val = ask(x); if(!val) answer(len+1); if(x-1 == r) x = l++; else x = r--; } answer(1); return 0; } else { val = ask(n-1); if(val) answer(n-((n+1)/2)); l = 3, r = n-2; int x = 2; for(int len = n-3;len >= n-((n+1)/2);len--) { val = ask(x); if(!val) answer(len+1); if(x-1 == r) x = l++; else x = r--; } answer(n-((n+1)/2)); return 0; } }

Compilation message (stderr)

Colors.cpp:6: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    6 | #pragma gcc optimize("O3")
      | 
Colors.cpp:7: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    7 | #pragma gcc optimize("Ofast")
      | 
Colors.cpp:8: warning: ignoring #pragma gcc optimize [-Wunknown-pragmas]
    8 | #pragma gcc optimize("unroll-loops")
      |
#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...