Submission #908280

#TimeUsernameProblemLanguageResultExecution timeMemory
908280zyq181Coreputer (IOI23_coreputer)C++17
0 / 100
1 ms344 KiB
#include "coreputer.h" #include <bits/stdc++.h> using namespace std; vector<int> malfunctioning_cores(int N){ if(N == 2){ if(run_diagnostic({0}) == 1){ return {0}; } else if(run_diagnostic({0}) == -1){ return {1}; } else{ return {0, 1}; } } vector<int> them; vector<int> q; int ret; int cur; for(int a=0; a<N; a+=2){ q.push_back(a); } ret = run_diagnostic(q); if(ret == 1){ int t; q.clear(); for(int a=1; a<N; a+=2) q.push_back(a); for(int a=0; a<N; a+=2){ q.push_back(a); t = run_diagnostic(q); if(t != -1){ cur = a; them.push_back(a); break; } } for(int a=cur+2; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != -1){ them.push_back(a); } } int k = them.size(); if(t == 0){ k--; } q.clear(); for(int a=0; a<k-1; a++){ q.push_back(them[a]); } q.push_back(0); for(int a=1; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != -1) them.push_back(a); } } else if(ret == -1){ int t; for(int a=1; a<N; a+=2){ q.push_back(a); t = run_diagnostic(q); if(t != -1){ cur = a; them.push_back(a); break; } } for(int a=cur+2; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != -1){ them.push_back(a); } } int k = them.size(); if(t == 0){ k--; } q.clear(); for(int a=0; a<k-1; a++){ q.push_back(them[a]); } q.push_back(0); for(int a=0; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != -1) them.push_back(a); } } else{ q.push_back(1); for(int a=1; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != 0) them.push_back(a); } int k = them.size(); q.clear(); for(int a=0; a<k-1; a++){ q.push_back(them[a]); } q.push_back(0); for(int a=0; a<N; a+=2){ q.pop_back(); q.push_back(a); if(run_diagnostic(q) != -1) them.push_back(a); } } sort(them.begin(), them.end(), greater<int>()); vector<int> r; for(int a=0; a<N; a++){ if(them.back() == a){ r.push_back(1); them.pop_back(); } else{ r.push_back(0); } } return r; }

Compilation message (stderr)

coreputer.cpp: In function 'std::vector<int> malfunctioning_cores(int)':
coreputer.cpp:38:16: warning: 'cur' may be used uninitialized in this function [-Wmaybe-uninitialized]
   38 |   for(int a=cur+2; a<N; a+=2){
      |             ~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...