Submission #720386

#TimeUsernameProblemLanguageResultExecution timeMemory
720386n0sk1llColors (BOI20_colors)C++14
9 / 100
1 ms320 KiB
#include <bits/stdc++.h> #define FAST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);cerr.tie(0) #define mp make_pair #define xx first #define yy second #define pb push_back #define pf push_front #define popb pop_back #define popf pop_front #define all(x) x.begin(),x.end() #define ff(i,a,b) for (int i = a; i < b; i++) #define fff(i,a,b) for (int i = a; i <= b; i++) #define bff(i,a,b) for (int i = b-1; i >= a; i--) #define bfff(i,a,b) for (int i = b; i >= a; i--) using namespace std; long double typedef ld; unsigned int typedef ui; long long int typedef li; pair<int,int> typedef pii; pair<li,li> typedef pli; pair<ld,ld> typedef pld; vector<vector<int>> typedef graph; unsigned long long int typedef ull; //const int mod = 998244353; const int mod = 1000000007; //Note to self: Check for overflow li n; set<li> asked; bool ask(li x) //da li njen decko noticuje promenu { assert(!asked.count(x)); asked.insert(x); cout<<"? "<<x<<endl; bool verd; cin>>verd; return verd; } li solvebs() { li l=0,r=n; li p=(n+2)/3,k; ask(p); bool idedesno=true; while (r-l>3) //koliko mu je dozvoljeno da skace { if (idedesno) k=(l+r+1)/2; else k=(l+r)/2; li q; if (idedesno) q=p+k; else q=p-k; if (ask(q)) r=k; else l=k; idedesno=!idedesno; p=q; } //cout<<"izaso iz binarne: "<<l<<" "<<r<<": "<<k<<endl; if (l==k) { while(true) { k++; if (k>n-1) return n; li q; if (idedesno) q=p+k; else q=p-k; if (ask(q)) return k; idedesno=!idedesno; p=q; } } else { while (true) { k--; if (k==0) return 1; li q; if (idedesno) q=p+k; else q=p-k; if (!ask(q)) return k+1; idedesno=!idedesno; p=q; } } } int main() { FAST; cin>>n; if (n<=64) { int l=1,r=n; ask(l++); while (r-l>=0) { if (!ask(r)) return cout<<"= "<<r-l+2,0; r--; if (r-l>=0) { if (!ask(l)) return cout<<"= "<<r-l+2,0; l++; } } cout<<"= 1"; } else { li ans=solvebs(); cout<<"= "<<ans<<"\n"; } } //Note to self: Check for overflow

Compilation message (stderr)

Colors.cpp: In function 'li solvebs()':
Colors.cpp:88:14: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
   88 |             k--;
      |             ~^~
#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...