Submission #1045274

#TimeUsernameProblemLanguageResultExecution timeMemory
1045274VMaksimoski008Stations (IOI20_stations)C++17
52.32 / 100
524 ms1300 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1005;
vector<int> graph[maxn], L, in(maxn), out(maxn);
int timer = 0;

void dfs(int u, int p) {
    in[u] = timer++;
    for(int &v : graph[u]) {
        if(v == p) continue;
        dfs(v, u);
    }
    out[u] = timer - 1;
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
    for(int i=0; i<n; i++) graph[i].clear(), in[i] = out[i] = timer = 0;
    for(int i=0; i<n-1; i++) {
        graph[u[i]].push_back(v[i]);
        graph[v[i]].push_back(u[i]);
    }
    L.clear();
	L.resize(n);
    dfs(0, 0);
    for(int i=0; i<n; i++) L[i] = 1000 * in[i] + out[i];
    return L;
}

int find_next_station(int s, int t, vector<int> c) {
	int inS = s / 1000, outS = s % 1000;
    int inT = t / 1000, outT = t % 1000;
   
    for(int &x : c) {
        int inx = x / 1000, outx = x % 1000;
        if(inx <= inT && inT <= outx && inS < inx) return x;
    }

    for(int &x : c)
        if(x / 1000 < inS) return x;
    return -1;
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:32:22: warning: unused variable 'outS' [-Wunused-variable]
   32 |  int inS = s / 1000, outS = s % 1000;
      |                      ^~~~
stations.cpp:33:25: warning: unused variable 'outT' [-Wunused-variable]
   33 |     int inT = t / 1000, outT = t % 1000;
      |                         ^~~~
#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...