Submission #232826

#TimeUsernameProblemLanguageResultExecution timeMemory
232826cfalasThe Big Prize (IOI17_prize)C++14
100 / 100
343 ms472108 KiB
#include<bits/stdc++.h> using namespace std; #include "prize.h" #define MID ((l+r)/2) typedef vector<int> vi; typedef pair<int, int> ii; #define F first #define S second ii mem[1000000]; bool used[1000000]; set<int> s[10000000]; ii q(int x){ if(used[x]) return mem[x]; used[x] = true; vi a = ask(x); mem[x] = ii(a[0],a[1]); return mem[x]; } int N; int mina=0; int rec(int l=0, int r=N-1){ if(l>r) return -1; ii a = q(MID); if(a.F+a.S==0) return MID; int tot = a.F+a.S; auto it = s[a.F+a.S].insert(MID).F; if(it==s[tot].begin() || mem[*prev(it)] != mem[MID]){ int b = rec(l,MID-1); if(b!=-1) return b; } if(it==--s[tot].end() || mem[*next(it)] != mem[MID]){ int b = rec(MID+1,r); if(b!=-1) return b; } return -1; } int find_best(int n) { N = n; int l=0, r=n-1; int m; int pos=0; return rec(); }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:43:6: warning: unused variable 'l' [-Wunused-variable]
  int l=0, r=n-1;
      ^
prize.cpp:43:11: warning: unused variable 'r' [-Wunused-variable]
  int l=0, r=n-1;
           ^
prize.cpp:44:6: warning: unused variable 'm' [-Wunused-variable]
  int m;
      ^
prize.cpp:45:6: warning: unused variable 'pos' [-Wunused-variable]
  int pos=0;
      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...