# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
129590 | Masterdan | The Big Prize (IOI17_prize) | C++14 | 0 ms | 0 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 "prize.h"
#include <bits/stdc++.h>
#define MIN -1
#define MAX 1000000000
#define all(a) a.begin (), a.end ()
#define mp make_pair
#define pb push_back
using namespace std;
typedef vector <int> vi;
typedef long long int ll;
typedef pair <int, int> ii;
pair<int, int> v[101000];
bool aux[100100];
pair<int, int> visitado(int pos){
if (aux[pos]){
return v[pos];
}
aux[pos] = 1;
vector <int> v1 = ask(pos);
return v[pos] = {v1[0], v1[1]};
}
int find_best(int n) {
int mx = MIN;
int mxpos = 0;
for (int i = 0; i < min(474, n); i++){
pair<int, int> v = visitado(i);
if (v.first+v.second == 0)
return i;
if (v.first + v.second > mx){