Submission #672617

#TimeUsernameProblemLanguageResultExecution timeMemory
672617paulo_arCave (IOI13_cave)C++17
0 / 100
239 ms392 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; int s [5004]; int res [5004]; bool activos [5004]; int ans [5004]; int busqueda (bool esuno, int inde, int n){ int izq=0, der=n-1; int mitad; int master; while(izq<=der){ mitad=(izq+der)/2; if(esuno)master=0; else master=1; for(int i=0; i<=mitad; i++){ if(activos[i]) { s[i]=res[i]; } else{ s[i]=master; } } if(esuno)master=1; else master=0; for(int i=mitad+1; i<n; i++){ if(res[i]){ s[i]=res[i]; } else{ s[i]=master; } } if(tryCombination(s)>=inde){ der=mitad-1; } else { izq=mitad+1; } } return mitad; } void exploreCave(int N) { int ll; for(int i=0; i<N; i++){ res[i]=false; } for(int j=1; j<=N; j++){ int master=1; for(int i=0; i<N; i++){ if(res[i]){ s[i]=res[i]; } else{ s[i]=master; } } ll=tryCombination(s); int des; int a; if(ll>=j or ll==-1){ des= busqueda(true,j,N); a=1; } else { des=busqueda(false,j,N); a=0; } activos [des]=true; res[des]=a; ans[j]=des; } answer(res, ans); // int tryCombination(int S[]); //void answer(int S[], int D[]); //void exploreCave(int N); }

Compilation message (stderr)

cave.cpp: In function 'int busqueda(bool, int, int)':
cave.cpp:48:12: warning: 'mitad' may be used uninitialized in this function [-Wmaybe-uninitialized]
   48 |     return mitad;
      |            ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...