Submission #306148

# Submission time Handle Problem Language Result Execution time Memory
306148 2020-09-24T16:37:33 Z SorahISA Stations (IOI20_stations) C++17
52.3244 / 100
1006 ms 1304 KB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

using pii = pair<int, int>;
template<typename T>
using Prior = priority_queue<T>;
template<typename T>
using prior = priority_queue<T, vector<T>, greater<T>>;

#define X first
#define Y second
#define ALL(x) (x).begin(), (x).end()
#define eb emplace_back
#define pb push_back

const int maxn = 1000 + 5;

vector<int> adj[maxn], lab, sz;
int tok = 0;

void dfs(int now, int lst) {
    lab[now] = tok++, sz[now] = 1;
    for (auto x : adj[now]) {
        if (x != lst) dfs(x, now), sz[now] += sz[x];
    }
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
    for (int i = 0; i < maxn; ++i) adj[i].clear();
    lab.resize(n), sz.resize(n);
    tok = 0;
    
    for (int i = 0; i < n-1; ++i) {
        adj[u[i]].eb(v[i]), adj[v[i]].eb(u[i]);
    }
    dfs(0, -1);
    
    for (int i = 1; i < n; ++i) lab[i] += sz[i] * 1000;
    
    // cout << "lab : ";
    // for (int i = 0; i < n; ++i) cout << lab[i] << " \n"[i == n-1];
    
    return lab;
}

int find_next_station(int s, int t, vector<int> c) {
    sort(ALL(c), [](auto a, auto b) {return a%1000 < b%1000;});
    // cout << "c : "; for (auto x : c) cout << x << " "; cout << "\n";
    if (s != 0 and (s%1000 > t%1000 or s%1000 + s/1000 <= t%1000)) return c[0];
    for (int i = 1; i < c.size(); ++i) {
        if (c[i]%1000 > t%1000) return c[i - 1];
    }
    return c.back();
}

Compilation message

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:51:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |     for (int i = 1; i < c.size(); ++i) {
      |                     ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 508 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=4006
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Invalid labels (values out of range). scenario=0, k=1000, vertex=1, label=511001
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 618 ms 1024 KB Output is correct
2 Correct 489 ms 1024 KB Output is correct
3 Correct 922 ms 768 KB Output is correct
4 Correct 656 ms 776 KB Output is correct
5 Correct 656 ms 768 KB Output is correct
6 Correct 477 ms 1024 KB Output is correct
7 Correct 447 ms 768 KB Output is correct
8 Correct 3 ms 804 KB Output is correct
9 Correct 5 ms 880 KB Output is correct
10 Correct 2 ms 876 KB Output is correct
11 Correct 615 ms 768 KB Output is correct
12 Correct 483 ms 1304 KB Output is correct
13 Correct 468 ms 1144 KB Output is correct
14 Correct 480 ms 768 KB Output is correct
15 Correct 61 ms 768 KB Output is correct
16 Correct 73 ms 844 KB Output is correct
17 Correct 108 ms 804 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 897 ms 1008 KB Output is correct
2 Correct 654 ms 876 KB Output is correct
3 Correct 685 ms 896 KB Output is correct
4 Correct 3 ms 768 KB Output is correct
5 Correct 6 ms 768 KB Output is correct
6 Correct 2 ms 768 KB Output is correct
7 Correct 607 ms 872 KB Output is correct
8 Correct 1006 ms 1008 KB Output is correct
9 Correct 683 ms 876 KB Output is correct
10 Correct 743 ms 768 KB Output is correct
11 Correct 7 ms 688 KB Output is correct
12 Correct 8 ms 1008 KB Output is correct
13 Correct 6 ms 880 KB Output is correct
14 Correct 5 ms 768 KB Output is correct
15 Correct 2 ms 768 KB Output is correct
16 Correct 565 ms 768 KB Output is correct
17 Correct 513 ms 876 KB Output is correct
18 Correct 530 ms 876 KB Output is correct
19 Correct 577 ms 768 KB Output is correct
20 Correct 583 ms 876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 545 ms 1024 KB Partially correct
2 Partially correct 613 ms 1024 KB Partially correct
3 Partially correct 940 ms 876 KB Partially correct
4 Partially correct 824 ms 768 KB Partially correct
5 Partially correct 685 ms 768 KB Partially correct
6 Partially correct 454 ms 1024 KB Partially correct
7 Partially correct 489 ms 796 KB Partially correct
8 Partially correct 3 ms 884 KB Partially correct
9 Partially correct 5 ms 884 KB Partially correct
10 Partially correct 2 ms 768 KB Partially correct
11 Partially correct 489 ms 768 KB Partially correct
12 Partially correct 635 ms 812 KB Partially correct
13 Partially correct 997 ms 876 KB Partially correct
14 Partially correct 909 ms 768 KB Partially correct
15 Partially correct 751 ms 768 KB Partially correct
16 Partially correct 473 ms 824 KB Partially correct
17 Partially correct 625 ms 768 KB Partially correct
18 Partially correct 579 ms 768 KB Partially correct
19 Partially correct 509 ms 1024 KB Partially correct
20 Partially correct 453 ms 768 KB Partially correct
21 Partially correct 77 ms 768 KB Partially correct
22 Partially correct 99 ms 768 KB Partially correct
23 Partially correct 124 ms 768 KB Partially correct
24 Partially correct 7 ms 876 KB Partially correct
25 Partially correct 7 ms 660 KB Partially correct
26 Partially correct 5 ms 888 KB Partially correct
27 Partially correct 4 ms 768 KB Partially correct
28 Partially correct 2 ms 884 KB Partially correct
29 Partially correct 607 ms 768 KB Partially correct
30 Partially correct 552 ms 876 KB Partially correct
31 Partially correct 610 ms 876 KB Partially correct
32 Partially correct 702 ms 768 KB Partially correct
33 Partially correct 518 ms 1040 KB Partially correct
34 Partially correct 325 ms 1280 KB Partially correct
35 Partially correct 505 ms 1008 KB Partially correct
36 Partially correct 458 ms 1024 KB Partially correct
37 Partially correct 479 ms 976 KB Partially correct
38 Partially correct 506 ms 888 KB Partially correct
39 Partially correct 500 ms 900 KB Partially correct
40 Partially correct 527 ms 768 KB Partially correct
41 Partially correct 511 ms 888 KB Partially correct
42 Partially correct 66 ms 768 KB Partially correct
43 Partially correct 113 ms 944 KB Partially correct
44 Partially correct 180 ms 976 KB Partially correct
45 Partially correct 159 ms 784 KB Partially correct
46 Partially correct 364 ms 904 KB Partially correct
47 Partially correct 321 ms 768 KB Partially correct
48 Partially correct 86 ms 984 KB Partially correct
49 Partially correct 71 ms 1024 KB Partially correct