Submission #1282854

#TimeUsernameProblemLanguageResultExecution timeMemory
1282854SSKMF기지국 (IOI20_stations)C++20
10 / 100
399 ms524 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; inline void Parcurgere (const int nod , const int sursa , int& moment , vector <int> adiacenta[] , vector <int>& rezultat) { const int inceput = moment++; for (auto& vecin : adiacenta[nod]) { if (vecin != sursa) { Parcurgere(vecin , nod , moment , adiacenta , rezultat); } } const int sfarsit = moment; rezultat[nod] = 1000 * inceput + sfarsit; } vector <int> label (int numar_noduri , int limita , vector <int> capat_1 , vector <int> capat_2) { vector <int> adiacenta[1000]; int moment = 0; vector <int> rezultat(numar_noduri); for (int indice = 0 ; indice < numar_noduri - 1 ; indice++) { adiacenta[capat_1[indice]].push_back(capat_2[indice]); adiacenta[capat_2[indice]].push_back(capat_1[indice]); } Parcurgere(0 , -1 , moment , adiacenta , rezultat); return rezultat; } int find_next_station (int sursa , int destinatie , vector <int> vecini) { if (!(sursa / 1000 < destinatie / 1000 && destinatie % 1000 <= sursa % 1000)) { return vecini[0]; } int indice = 0; while (indice + 1 < (int)vecini.size() && vecini[indice + 1] / 1000 <= destinatie / 1000) { indice++; } return vecini[indice]; }
#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...