| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 430270 | APROHACK | 기지국 (IOI20_stations) | C++14 | 4 ms | 2644 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "stations.h"
#include <bits/stdc++.h>
#include <vector>
#define PB push_back
using namespace std;
vector<int>ady[100001];
int lab[100001];
long long cur = 0;
void dfs(int node, int parent){
cout<<node<<endl;
for(int i= 0 ; i < ady[node].size() ; i++){
if(ady[node][i]==parent)continue;
dfs(ady[node][i], node);
}
lab[node]=cur++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
cur=0;
vector<int>ab;
for(int i = 0 ; i <= n-1 ; i++){
ady[i].clear();
}
for(int i = 0 ; i < n-1 ; i++){
ady[u[i]].PB(v[i]);
ady[v[i]].PB(u[i]);
}
dfs(0, -1);
for(int i = 0 ; i <= n-1 ; i++){
ab.PB(lab[i]);
cout<<lab[i]<<" ";
}
return ab;
}
int find_next_station(int s, int t, vector<int>c) {
int li=0, ls=c.size()-1, pos;
//for(int i = 0 ; i <= ls ; i++){
// cout<<c[i]<<" ";
//}
//cout<<endl<<s<<" "<<t<<endl;
pos=(li+ls)/2;
while(li+1<ls){
//cout<<li<<" "<<ls<<endl;
pos=(li+ls)/2;
if(c[pos]>=t)ls=pos;
else li=pos;
}
for(int i = ls ; i >= li ; i--){
if(c[i]>=t)pos=i;
}
if(t>s)return c[c.size()-1];
//pos=(li+ls)/2;
//cout<<"a "<<c[pos]<<endl;
return c[pos];
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
