Submission #1308918

#TimeUsernameProblemLanguageResultExecution timeMemory
1308918duongquanghai08Stations (IOI20_stations)C++20
0 / 100
403 ms508 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 1003;
vector<int> adj[N];
int in[N], timer = 0;
void dfs(int u, int par) {
    in[u] = ++timer;
    for(auto v : adj[u]) {
        if(v == par) continue;
        dfs(v, u);
    }
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
    for(int i = 0; i < n; i++) adj[i].clear();
    timer = 0;
    for(int i = 0; i < n - 1; i++) {
        adj[u[i]].push_back(v[i]);
        adj[v[i]].push_back(u[i]);
    }
    dfs(0, -1);
    vector<int> b;
    for(int i = 0; i < n; i++) b.push_back(in[i]);
    return b;
}

int find_next_station(int s, int t, vector<int> c) {
    sort(c.begin(), c.end());
	if(s > t) {
        for(auto x : c) if(x > s) return x;
        return c.back();
	}
    else {
        int ans = 0;
        for(auto x : c) {
            if(x <= t) ans = x;
        }
        if(ans == 0) return c[0];
        return ans;
    }
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...