제출 #396870

#제출 시각아이디문제언어결과실행 시간메모리
396870ly20철로 (IOI14_rail)C++17
0 / 100
3097 ms167632 KiB
#include "rail.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 5123; int marc[MAXN]; void findLocation(int n, int first, int location[], int stype[]) { location[0] = first; stype[0] = 1; marc[0] = 1; set <pair <int, pair <int, int> > > s; for(int i = 0; i < n; i++) { if(marc[i] == 1) continue; s.insert(make_pair(getDistance(0, i), make_pair(0, i))); } while(!s.empty()) { int a = (*(s.begin())).second.first, b = (*(s.begin())).second.second; int d = (*(s.begin())).first; s.erase(s.begin()); if(marc[b] == 1) { continue; } if(stype[a] == 1) { stype[b] = 2; location[b] = location[a] + d - 1; } else { stype[b] = 1; location[b] = location[a] - d + 1; } marc[b] = 1; for(int i = 0; i < n; i++) { if(marc[i] == 1) continue; s.insert(make_pair(getDistance(b, i), make_pair(b, i))); } } return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...