# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
292033 | 2020-09-06T08:27:23 Z | Diuven | 급행열차 20/19 (ROI19_express) | C++17 | 7000 ms | 1048580 KB |
#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> #include <cstring> #include <string> #include <cmath> #include <cassert> #include <ctime> #include <vector> #include <set> #include <map> #include <unordered_set> #include <unordered_map> using namespace std; #define pb push_back #define mp make_pair #define fs first #define sc second const int csize = 1000 * 1000; int n, m, q; long long p; int tc; long long* dists[csize]; int len[csize]; vector <pair <int, long long> > vertex[csize]; int main () { // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); scanf("%d", &tc); for (int tnum = 0; tnum < tc; tnum++) { scanf("%d%d%d%lld", &n, &m, &q, &p); for (int i = 0; i < m; i++) { int u, v; long long t; scanf("%d%d%lld", &u, &v, &t); vertex[v - 1].pb(mp(u - 1, t)); } len[0] = 1; dists[0] = new long long[1]; dists[0][0] = 0ll; for (int i = 1; i < n; i++) { int total = 0; for (int j = 0; j < (int) vertex[i].size(); j++) { total += len[vertex[i][j].fs]; } dists[i] = new long long[total]; int cur = 0; for (int j = 0; j < (int) vertex[i].size(); j++) { int tg = vertex[i][j].fs; int curlen = len[tg]; long long toadd = vertex[i][j].sc; for (int h = 0; h < curlen; h++) { dists[i][cur++] = dists[tg][h] + toadd; } } len[i] = cur; sort(dists[i], dists[i] + len[i]); len[i] = unique(dists[i], dists[i] + len[i]) - dists[i]; } for (int i = 0; i < q; i++) { int tg; long long tlen; scanf("%d%lld", &tg, &tlen); tg--; int it = lower_bound(dists[tg], dists[tg] + len[tg], tlen) - dists[tg]; if (it < len[tg] && dists[tg][it] <= tlen * p / (p - 1)) { printf("1"); } else { printf("0"); } } for (int i = 0; i < n; i++) { delete [] dists[i]; vertex[i].clear(); } printf("\n"); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 19 ms | 23808 KB | Output is correct |
2 | Correct | 17 ms | 23808 KB | Output is correct |
3 | Correct | 17 ms | 23808 KB | Output is correct |
4 | Correct | 16 ms | 23808 KB | Output is correct |
5 | Correct | 23 ms | 23808 KB | Output is correct |
6 | Correct | 17 ms | 23808 KB | Output is correct |
7 | Correct | 19 ms | 23808 KB | Output is correct |
8 | Correct | 16 ms | 23864 KB | Output is correct |
9 | Correct | 16 ms | 23804 KB | Output is correct |
10 | Correct | 20 ms | 23808 KB | Output is correct |
11 | Correct | 17 ms | 23808 KB | Output is correct |
12 | Correct | 27 ms | 23808 KB | Output is correct |
13 | Correct | 28 ms | 23808 KB | Output is correct |
14 | Correct | 28 ms | 23936 KB | Output is correct |
15 | Correct | 24 ms | 23808 KB | Output is correct |
16 | Correct | 24 ms | 23768 KB | Output is correct |
17 | Correct | 30 ms | 23808 KB | Output is correct |
18 | Correct | 29 ms | 23808 KB | Output is correct |
19 | Correct | 25 ms | 23808 KB | Output is correct |
20 | Correct | 24 ms | 23808 KB | Output is correct |
21 | Correct | 26 ms | 23824 KB | Output is correct |
22 | Correct | 23 ms | 23808 KB | Output is correct |
23 | Correct | 23 ms | 23808 KB | Output is correct |
24 | Correct | 25 ms | 23808 KB | Output is correct |
25 | Correct | 22 ms | 23808 KB | Output is correct |
26 | Correct | 22 ms | 23808 KB | Output is correct |
27 | Correct | 22 ms | 23808 KB | Output is correct |
28 | Correct | 22 ms | 23936 KB | Output is correct |
29 | Correct | 22 ms | 23808 KB | Output is correct |
30 | Correct | 22 ms | 23808 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23804 KB | Output is correct |
2 | Correct | 16 ms | 23808 KB | Output is correct |
3 | Correct | 16 ms | 23808 KB | Output is correct |
4 | Correct | 16 ms | 23808 KB | Output is correct |
5 | Correct | 16 ms | 23936 KB | Output is correct |
6 | Correct | 17 ms | 23808 KB | Output is correct |
7 | Correct | 17 ms | 23808 KB | Output is correct |
8 | Correct | 17 ms | 23808 KB | Output is correct |
9 | Correct | 17 ms | 23784 KB | Output is correct |
10 | Correct | 23 ms | 23936 KB | Output is correct |
11 | Correct | 35 ms | 26616 KB | Output is correct |
12 | Correct | 23 ms | 24168 KB | Output is correct |
13 | Correct | 51 ms | 29432 KB | Output is correct |
14 | Correct | 20 ms | 23808 KB | Output is correct |
15 | Correct | 19 ms | 23808 KB | Output is correct |
16 | Correct | 20 ms | 23868 KB | Output is correct |
17 | Correct | 20 ms | 23808 KB | Output is correct |
18 | Correct | 20 ms | 23808 KB | Output is correct |
19 | Correct | 21 ms | 23860 KB | Output is correct |
20 | Correct | 20 ms | 23896 KB | Output is correct |
21 | Correct | 22 ms | 23828 KB | Output is correct |
22 | Correct | 21 ms | 24064 KB | Output is correct |
23 | Correct | 22 ms | 24192 KB | Output is correct |
24 | Correct | 26 ms | 24832 KB | Output is correct |
25 | Correct | 24 ms | 24704 KB | Output is correct |
26 | Correct | 34 ms | 24996 KB | Output is correct |
27 | Correct | 26 ms | 24576 KB | Output is correct |
28 | Correct | 19 ms | 23808 KB | Output is correct |
29 | Correct | 19 ms | 23808 KB | Output is correct |
30 | Correct | 18 ms | 23808 KB | Output is correct |
31 | Correct | 18 ms | 23808 KB | Output is correct |
32 | Execution timed out | 7110 ms | 549300 KB | Time limit exceeded |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23808 KB | Output is correct |
2 | Execution timed out | 7099 ms | 562256 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 7138 ms | 562040 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 23808 KB | Output is correct |
2 | Correct | 16 ms | 23808 KB | Output is correct |
3 | Correct | 17 ms | 23808 KB | Output is correct |
4 | Runtime error | 6159 ms | 1048580 KB | Execution killed with signal 9 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 658 ms | 32720 KB | Output is correct |
2 | Runtime error | 6225 ms | 1048580 KB | Execution killed with signal 9 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 726 ms | 32620 KB | Output is correct |
2 | Runtime error | 6126 ms | 1048580 KB | Execution killed with signal 9 |
3 | Halted | 0 ms | 0 KB | - |