Submission #626498

#TimeUsernameProblemLanguageResultExecution timeMemory
626498MounirThe Big Prize (IOI17_prize)C++14
0 / 100
96 ms292 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; vector<int> ask_res(int i){ vector<int> rep = ask(i); //if (i != 7) cout << "query " << i << " " << rep[0] << " " << rep[1] << endl; return rep; } int find_best(int n) { int dernier = n/2; vector<int> resDernier = ask_res(dernier); while (resDernier[0] + resDernier[1] != 0){ int badLeft = dernier - resDernier[0], badRight = n - resDernier[1] - dernier - 1; //cout << "iter " << badLeft << " " << badRight << " " << resDernier[0] << " " << resDernier[1] << endl; bool gauche = (resDernier[1] == 0); gauche |= (badLeft < badRight); gauche &= (resDernier[0] != 0); if (gauche){ vector<int> resCur = resDernier; // cout << "ylo" << endl; while (resCur[0] + resCur[1] >= resDernier[0] + resDernier[1]){ dernier -= /*resCur[0]*/ 1; resCur = ask_res(dernier); } resDernier = resCur; } else { vector<int> resCur = resDernier; while (resCur[0] + resCur[1] >= resDernier[0] + resDernier[1]){ dernier += /*resCur[1]*/ 1; resCur = ask_res(dernier); } // cout << "fini" << endl; resDernier = resCur; } // resDernier = resCur; } return dernier; //return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...