Submission #1017375

#TimeUsernameProblemLanguageResultExecution timeMemory
1017375overwatch9The Big Prize (IOI17_prize)C++17
20 / 100
74 ms1188 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; // int N; // vector <int> nums; // vector <int> ask(int i) { // vector <int> ans(2, 0); // for (int j = 0; j < i; j++) { // if (nums[j] > nums[i]) // ans[0]++; // } // for (int j = i+1; j < N; j++) { // if (nums[j] > nums[i]) // ans[1]++; // } // return ans; // } int rng(int i) { return rand() % i; } int find_best(int n) { srand(time(0)); vector <int> guesses(n); for (int i = 0; i < n; i++) guesses[i] = i; random_shuffle(guesses.begin(), guesses.end(), rng); int cnt = 0; int lo = 0, hi = n-1; for (int i = 0; i < n && cnt < 10000; i++) { if (guesses[i] < lo || guesses[i] > hi) continue; cnt++; auto res = ask(guesses[i]); if (res[0] + res[1] == 0) return guesses[i]; if (res[0] + res[1] == 1) { if (res[0] == 1) hi = guesses[i] - 1; else lo = guesses[i] + 1; if (lo == hi) return lo; } if (cnt == 10000) return guesses[i+1]; } return 0; } // int main() { // cin >> N; // nums.resize(N+1); // for (int i = 0; i < N; i++) // cin >> nums[i]; // find_best(N); // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...