Submission #1074526

#TimeUsernameProblemLanguageResultExecution timeMemory
1074526beaconmcHotter Colder (IOI10_hottercolder)C++14
77.08 / 100
2284 ms24512 KiB
#include "grader.h" #include <bits/stdc++.h> typedef long long ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(lli = x; i>y; i--) using namespace std; ll n; map<ll,ll> sus; ll cnt = 0; ll idkman = -1; int guess(ll a){ if (a==0) return -1; if (a==n+1) return -1; cnt++; idkman = a; return Guess(a); } int solve(int a, int b){ if (a==b) return a; //ll lmao = rand()%2; ll lmao = 1; // cout << lmao << endl; // cout << a << " " << b << endl; if (idkman == (a+b)/2 && (b-a+1) >500){ // cout << "LMAO" << endl; ll mid = idkman; ll right = guess(idkman+1); if (right == -1){ return solve(a, mid); }else{ return solve(mid+1, b); } } else{ if (lmao == 0){ ll mid = (a+b)/2; ll midleft = (a+mid)/2; ll midright = (b+mid+1)/2; ll left, right; left = guess(midleft); right = guess(midright); if (right == 0 ){ return (midleft+midright)/2; } else if (right == -1){ if ((midleft+midright)%2==0) return solve(a, mid-1); return solve(a,mid); }else{ return solve(mid+1, b); } } else{ ll mid = (a+b)/2; ll midleft = (a+mid)/2; ll midright = (b+mid+1)/2; ll left, right; right = guess(midright); left = guess(midleft); if (left == 0 ){ return (midleft+midright)/2; } else if (left == -1){ return solve(mid+1, b); }else{ if ((midleft+midright)%2==0 && (b-a+1)<=500) return solve(a, mid-1); return solve(a,mid); } } } } int HC(int N){ idkman = -1; srand(69420); sus.clear(); n = N; cnt = 0; ll ans = solve(1,N); return ans; }

Compilation message (stderr)

hottercolder.cpp: In function 'int solve(int, int)':
hottercolder.cpp:50:13: warning: variable 'left' set but not used [-Wunused-but-set-variable]
   50 |          ll left, right;
      |             ^~~~
hottercolder.cpp:67:19: warning: variable 'right' set but not used [-Wunused-but-set-variable]
   67 |          ll left, right;
      |                   ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...