# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1280340 | Jawad_Akbar_JJ | Stations (IOI20_stations) | C++17 | 402 ms | 556 KiB |
#include <iostream>
#include <vector>
#include "stations.h"
using namespace std;
vector<int> nei[1005], lbl;
int cur;
void dfs(int u, int p, int type){
if (type == 1)
lbl[u] = cur++;
for (int i : nei[u]){
if (i == p)
continue;
dfs(i, u, 1 - type);
}
if (type == 0)
lbl[u] = cur++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v){
for (int i=0;i<n-1;i++){
nei[v[i]].push_back(u[i]);
nei[u[i]].push_back(v[i]);
}
lbl.resize(n);
cur = 0;
dfs(0, 0, 0);
for (int i=0;i<n;i++)
nei[i].clear();
return lbl;
}
int find_next_station(int s, int t, vector<int> c){
if (c.back() < s){
c.push_back(s);
for (int i=1;i<c.size()-1;i++)
if (t < c[i+1] and t >= c[i])
return c[i];
return c[0];
}
if (c.size() == 1 or t < s or c[c.size() - 2] < t)
return c.back();
for (int i=0;i<c.size() - 1;i++)
if (t <= c[i])
return c[i];
}
Compilation message (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... |