Submission #333207

#TimeUsernameProblemLanguageResultExecution timeMemory
333207mohamedsobhi777The Big Prize (IOI17_prize)C++14
Compilation error
0 ms0 KiB
#include "prize.h" #include "grader.cpp" #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; const int thr = 950; vector<int> Qu[200000 + 10]; int freq[200000 + 10]; int enough; vector<int> Ask(int i) { if (Qu[i].empty()) Qu[i] = ask(i); return Qu[i]; } inline int sum(int i) { return Qu[i][0] + Qu[i][1]; } int solve1(int n) { for (int i = 0; i < n; ++i) { Ask(i); if (!sum(i)) return i; } } int find_best(int n) { if (n <= 4800) return solve1(n); for (int i = 0; i < thr; ++i) { Ask(i); freq[sum(i)]++; if (sum(i) == 0) return i; } int mc = 0, Max = 0; for (int i = 0; i < N; ++i) { if (freq[i] > Max) Max = freq[i], mc = i; } for (int i = 0; i < thr; ++i) enough += sum(i) != mc; for (int i = thr; i < n; ++i) { Ask(i); if (sum(i) != mc) { if (sum(i) == 0) return i; ++enough; continue; } int lo = i, hi = min(i + 200 + 5 * enough, n - 1); int j = i; while (lo <= hi) { int mid = (lo + hi) >> 1; Ask(mid); if (sum(mid) != mc || Qu[mid][0] - enough > 0) hi = mid - 1; else j = mid, lo = mid + 1; } i = j; } }

Compilation message (stderr)

prize.cpp: In function 'int solve1(int)':
prize.cpp:29:1: warning: control reaches end of non-void function [-Wreturn-type]
   29 | }
      | ^
prize.cpp: In function 'int find_best(int)':
prize.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type]
   76 | }
      | ^
/tmp/ccIDlA3l.o: In function `ask(int)':
grader.cpp:(.text+0x0): multiple definition of `ask(int)'
/tmp/ccVp7umB.o:prize.cpp:(.text+0x40): first defined here
/tmp/ccIDlA3l.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccVp7umB.o:prize.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status