Submission #911992

#TimeUsernameProblemLanguageResultExecution timeMemory
911992dsyzCoreputer (IOI23_coreputer)C++17
80 / 100
1 ms808 KiB
#include <bits/stdc++.h> #include "coreputer.h" using namespace std; using ll = long long; #define MAXN (1000005) vector<int> malfunctioning_cores(int N) { ll high = N - 1; ll low = -1; while(high - low > 1){ //binary search for leftmost position such that prefix sum of malfunctioning cores > half of total malfunctioning cores ll mid = (high + low) / 2; vector<int> T; for(ll i = 0;i <= mid;i++){ T.push_back(i); } ll a = run_diagnostic(T); if(a == 1){ high = mid; }else{ low = mid; } } ll checked = 1; ll parity = 0; //parity of total number of malfunctioning cores vector<ll> malfunctioning; malfunctioning.push_back(high); for(ll i = 0;i < high;i++){ vector<int> T; for(ll j = 0;j <= high;j++){ if(i == j) continue; T.push_back(j); } ll a = run_diagnostic(T); if(a == 0){ parity = 0; malfunctioning.push_back(i); }else if(a == -1){ parity = 1; malfunctioning.push_back(i); } checked++; } for(ll i = high + 1;i < N && malfunctioning.size() >= 2;i++){ vector<int> T; for(ll j = high;j < N;j++){ if(i == j) continue; T.push_back(j); } ll a = run_diagnostic(T); if(a == -1){ malfunctioning.push_back(i); } checked++; } vector<int> ans; for(ll i = 0;i < N;i++){ ans.push_back(0); } for(auto u : malfunctioning){ ans[u] = 1; } return ans; }

Compilation message (stderr)

coreputer.cpp: In function 'std::vector<int> malfunctioning_cores(int)':
coreputer.cpp:24:5: warning: variable 'parity' set but not used [-Wunused-but-set-variable]
   24 |  ll parity = 0; //parity of total number of malfunctioning cores
      |     ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...