Submission #1136894

#TimeUsernameProblemLanguageResultExecution timeMemory
1136894Gabriel새로운 문제 (POI13_luk)C++20
30 / 100
370 ms19272 KiB
#include "bits/stdc++.h" using namespace std; vector<bool> Visitados; vector< vector<long long> > Grafo; bool Probar(long long Nodo, long long Gratis, long long Constructores){ Visitados[Nodo] = 1; Gratis += Constructores; long long Necesario = Grafo[Nodo].size() - 1; Gratis -= Necesario; //cout<<Nodo<<" "<<Gratis<<"\n"; //cout<<Nodo + 1<<" "<<Constructores<<"\n"; if(Gratis < 0) return 0; for(auto E: Grafo[Nodo]){ //cout<<Nodo<<" "<<E<<" "<<Visitados[E]<<"\n"; if(!Visitados[E]){ //cout<<"Tomo.\n"; bool Resultado = Probar(E, Gratis, Constructores); //cout<<Resultado<<" "; if(Resultado == 0) return 0; } } return 1; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); long long n, i = 0, d, Mejor; cin>>n; d = n + 22; Mejor = d; Grafo.assign(n + 1, {}); Grafo[0].push_back(n); Grafo[n].push_back(0); n--; while(n--){ long long a, b; cin>>a>>b; a--; b--; Grafo[a].push_back(b); Grafo[b].push_back(a); } n = Grafo.size(); while(1){ long long p = (i + d) / 2; Visitados.assign(n, 0); Visitados.back() = 1; if(Probar(0, 0, p) == 1){ d = p - 1; Mejor = p; //cout<<p<<" sirve.\n"; } else { i = p + 1; //cout<<p<<" no sirve.\n"; } //for(auto E: Visitados) cout<<E<<" "; //cout<<"\n"; if(i >= d + 1) break; } cout<<Mejor; return 0; } /* 14 1 2 2 3 2 4 2 5 5 9 4 7 4 6 3 8 10 8 8 11 8 12 8 13 8 14 */
#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...
#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...