# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
232826 | cfalas | The Big Prize (IOI17_prize) | C++14 | 343 ms | 472108 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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]){
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |