# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
305246 | 2020-09-22T19:22:39 Z | oscarsierra12 | 기지국 (IOI20_stations) | C++14 | 1166 ms | 1024 KB |
#include "stations.h" #include <vector> #include <bits/stdc++.h> using namespace std ; const int N = 1010 ; int dfsNum[N]; int cnt = 0 ; vector <int> G[N] ; void dfs ( int u, int p, int f ) { if ( f ) dfsNum[u] = cnt++ ; for ( auto v:G[u] ) if ( v!=p ) dfs (v, u, 1-f) ; if ( !f ) dfsNum[u] = cnt++ ; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); for ( int i = 0 ; i < n ; ++i ) G[i].clear() ; cnt = 0 ; for ( int i = 0 ; i + 1 < n ; ++i ) { G[u[i]].push_back ( v[i] ) ; G[v[i]].push_back ( u[i] ) ; } dfs ( 0, -1, 0 ) ; for (int i = 0; i < n; i++) { labels[i] = dfsNum[i]; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { sort ( c.begin(), c.end() ) ; if ( c[0] > s ) { ///s is timein if ( t < s ) return c.back() ; for ( auto i:c ) if ( i >= t ) return i ; return -1 ; } ///s is timeout if ( s < t ) return c[0] ; for ( int i = 1 ; i < c.size() ; ++i ) if ( c[i] > t ) return c[i-1] ; return c[0]; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 649 ms | 872 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 594 ms | 904 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 683 ms | 1024 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1166 ms | 776 KB | Output is correct |
2 | Incorrect | 714 ms | 908 KB | Wrong query response. |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 639 ms | 1008 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |