# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
902253 | 2024-01-10T07:33:28 Z | Muhammad_Aneeq | 철로 (IOI14_rail) | C++17 | 77 ms | 924 KB |
#include "rail.h" #include <vector> #include <algorithm> #include <set> using namespace std; int dist(int i,int j) { return getDistance(i,j); } void findLocation(int n, int pos, int location[], int stype[]) { location[0]=pos; stype[0]=1; for (int i=1;i<n;i++) stype[i]=0; set<int>s; for (int i=1;i<n;i++) s.insert(i); int f=0; while (s.size()) { int f=1e9+10; int ind=-1; for (auto i:s) { int z=(dist(0,i)); if (z<f) { f=z; ind=i; } } vector<pair<int,int>>sm,bi; for (auto i:s) { if (i==ind) continue; int z=dist(ind,i); if (dist(0,i)==z+f) { if (z*2>f) sm.push_back({z,i}); else bi.push_back({z,i}); } } sort(begin(sm),end(sm)); sort(begin(bi),end(bi)); for (int i=0;i<sm.size();i++) { location[sm[i].second]=pos-sm[i].first+f; stype[sm[i].second]=1; } for (int i=0;i<bi.size();i++) { location[bi[i].second]=pos-bi[i].first+f; stype[bi[i].second]=2; } location[ind]=pos+f; stype[ind]=2; s={}; for (int i=0;i<n;i++) { if (stype[i]==0) { s.insert(i); } } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 1 ms | 348 KB | Output is correct |
5 | Correct | 1 ms | 604 KB | Output is correct |
6 | Correct | 1 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 344 KB | Output is correct |
4 | Correct | 1 ms | 344 KB | Output is correct |
5 | Correct | 1 ms | 348 KB | Output is correct |
6 | Correct | 1 ms | 352 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 344 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 77 ms | 920 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 76 ms | 924 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |