Task: | Jakarta Skyscrapers |
Sender: | Yytsi |
Submission time: | 2019-04-07 16:35:43 +0300 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 10 |
#2 | ACCEPTED | 12 |
#3 | ACCEPTED | 14 |
#4 | ACCEPTED | 21 |
#5 | ACCEPTED | 43 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1, 2, 3, 4, 5 | details |
#2 | ACCEPTED | 0.01 s | 1, 2, 3, 4, 5 | details |
#3 | ACCEPTED | 0.03 s | 1, 2, 3, 4, 5 | details |
#4 | ACCEPTED | 0.02 s | 1, 2, 3, 4, 5 | details |
#5 | ACCEPTED | 0.02 s | 1, 2, 3, 4, 5 | details |
#6 | ACCEPTED | 0.02 s | 1, 2, 3, 4, 5 | details |
#7 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#8 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#9 | ACCEPTED | 0.01 s | 2, 3, 4, 5 | details |
#10 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#11 | ACCEPTED | 0.03 s | 2, 3, 4, 5 | details |
#12 | ACCEPTED | 0.03 s | 2, 3, 4, 5 | details |
#13 | ACCEPTED | 0.02 s | 2, 3, 4, 5 | details |
#14 | ACCEPTED | 0.03 s | 2, 3, 4, 5 | details |
#15 | ACCEPTED | 0.01 s | 3, 4, 5 | details |
#16 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#17 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#18 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#19 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#20 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#21 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#22 | ACCEPTED | 0.01 s | 3, 4, 5 | details |
#23 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#24 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#25 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#26 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#27 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#28 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#29 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#30 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#31 | ACCEPTED | 0.02 s | 3, 4, 5 | details |
#32 | ACCEPTED | 0.03 s | 3, 4, 5 | details |
#33 | ACCEPTED | 0.04 s | 3, 4, 5 | details |
#34 | ACCEPTED | 0.04 s | 4, 5 | details |
#35 | ACCEPTED | 0.04 s | 4, 5 | details |
#36 | ACCEPTED | 0.04 s | 4, 5 | details |
#37 | ACCEPTED | 0.06 s | 4, 5 | details |
#38 | ACCEPTED | 0.06 s | 4, 5 | details |
#39 | ACCEPTED | 0.05 s | 4, 5 | details |
#40 | ACCEPTED | 0.06 s | 4, 5 | details |
#41 | ACCEPTED | 0.03 s | 4, 5 | details |
#42 | ACCEPTED | 0.03 s | 4, 5 | details |
#43 | ACCEPTED | 0.02 s | 4, 5 | details |
#44 | ACCEPTED | 0.06 s | 4, 5 | details |
#45 | ACCEPTED | 0.05 s | 4, 5 | details |
#46 | ACCEPTED | 0.08 s | 5 | details |
#47 | ACCEPTED | 0.04 s | 5 | details |
#48 | ACCEPTED | 0.05 s | 5 | details |
#49 | ACCEPTED | 0.05 s | 5 | details |
#50 | ACCEPTED | 0.09 s | 5 | details |
#51 | ACCEPTED | 0.10 s | 5 | details |
#52 | ACCEPTED | 0.05 s | 5 | details |
#53 | ACCEPTED | 0.03 s | 5 | details |
#54 | ACCEPTED | 0.02 s | 5 | details |
#55 | ACCEPTED | 0.04 s | 5 | details |
#56 | ACCEPTED | 0.06 s | 5 | details |
#57 | ACCEPTED | 0.03 s | 5 | details |
#58 | ACCEPTED | 0.04 s | 5 | details |
#59 | ACCEPTED | 0.03 s | 5 | details |
#60 | ACCEPTED | 0.04 s | 5 | details |
#61 | ACCEPTED | 0.06 s | 5 | details |
#62 | ACCEPTED | 0.04 s | 5 | details |
#63 | ACCEPTED | 0.10 s | 5 | details |
#64 | ACCEPTED | 0.11 s | 5 | details |
#65 | ACCEPTED | 0.12 s | 5 | details |
#66 | ACCEPTED | 0.25 s | 5 | details |
#67 | ACCEPTED | 0.24 s | 5 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:3:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] #define FOR(i, a, b) for (int i=a; i<(b); i++) ^ input/code.cpp:66:4: note: in expansion of macro 'FOR' FOR(i,0,adj[x].size()) { ^~~ input/code.cpp:57:8: warning: unused variable 'vis' [-Wunused-variable] bool vis[N]; ^~~
Code
#include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for (int i=a; i<(b); i++) #define IO ios_base::sync_with_stdio(0); cin.tie(0) #define F first #define S second #define pb push_back typedef long long ll; typedef pair<int, int> pii; #define N 30002 int n, m; set<int> jumps[N]; vector<pii> adj[N]; int d[N]; bool same_field(int p, int j) { return jumps[p].find(j) != jumps[p].end(); } int start, finish; int main() { IO; cin>>n>>m; FOR(i,0,m) { int p, j; cin>>p>>j; jumps[p].insert(j); if (i == 0) start = p; if (i == 1) finish = p; } FOR(i,0,n) { for (int j : jumps[i]) { int cost = 0; for (int k = i + j; k < n; k += j) { adj[i].pb({k, ++cost}); //cout<<i<<" => {"<<k<<", "<<cost<<"}\n"; if (same_field(k, j)) break; } cost = 0; for (int k = i - j; k >= 0; k -= j) { adj[i].pb({k, ++cost}); //cout<<i<<" => {"<<k<<", "<<cost<<"}\n"; if (same_field(k, j)) break; } } } FOR(i,0,n) d[i] = 1e9; d[start] = 0; priority_queue<pii> pq; pq.push({0, start}); bool vis[N]; while (!pq.empty()) { pii cur = pq.top(); pq.pop(); int x = cur.S; //if (vis[x]) continue; //vis[x] = true; if (d[x] > -cur.F) continue; FOR(i,0,adj[x].size()) { pii u = adj[x][i]; if (d[x] + u.S < d[u.F]) { d[u.F] = d[x] + u.S; pq.push({-d[u.F], u.F}); } } } //FOR(i,0,n) cout<<d[i]<<" "; //cout<<"\n"; if (d[finish] >= 1e9) cout<<"-1\n"; else cout<<d[finish]<<"\n"; }
Test details
Test 1
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
1 2 0 1 0 1 |
correct output |
---|
0 |
user output |
---|
0 |
Test 2
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
6 3 0 4 0 4 1 3 |
correct output |
---|
0 |
user output |
---|
0 |
Test 3
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
7 3 3 9 5 8 0 8 |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 4
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
10 3 0 1 2 3 3 9 |
correct output |
---|
2 |
user output |
---|
2 |
Test 5
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
10 3 0 2 5 1 8 3 |
correct output |
---|
5 |
user output |
---|
5 |
Test 6
Group: 1, 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
10 3 0 1 9 1 1 1 |
correct output |
---|
9 |
user output |
---|
9 |
Test 7
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
37 19 20 1 21 56 1 47 27 7 ... |
correct output |
---|
1 |
user output |
---|
1 |
Test 8
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
59 48 36 5 14 8 5 13 17 24 ... |
correct output |
---|
9 |
user output |
---|
9 |
Test 9
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 403 22 25 49 8 56 85 50 32 ... |
correct output |
---|
3 |
user output |
---|
3 |
Test 10
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 2000 42 40 54 31 95 26 14 71 ... |
correct output |
---|
1 |
user output |
---|
1 |
Test 11
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 2000 0 2 91 1 98 3 5 5 ... |
correct output |
---|
118 |
user output |
---|
118 |
Test 12
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 2000 0 1 99 1 98 1 98 1 ... |
correct output |
---|
99 |
user output |
---|
99 |
Test 13
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 2000 0 1 59 1 29 59 6 51 ... |
correct output |
---|
59 |
user output |
---|
59 |
Test 14
Group: 2, 3, 4, 5
Verdict: ACCEPTED
input |
---|
100 2000 0 1 99 1 6 22 8 18 ... |
correct output |
---|
2 |
user output |
---|
2 |
Test 15
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
200 1704 152 114 197 195 179 101 44 40 ... |
correct output |
---|
2 |
user output |
---|
2 |
Test 16
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
742 723 450 221 144 118 273 219 368 196 ... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 17
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1747 1189 405 1135 675 1863 1151 273 826 345 ... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 18
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 1046 854 1720 652 413 1598 1407 843 1784 ... |
correct output |
---|
32 |
user output |
---|
32 |
Test 19
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 0 1 1999 1 1100 1 1402 1 ... |
correct output |
---|
1999 |
user output |
---|
1999 |
Test 20
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
657 1595 255 533 391 1570 353 1230 400 100 ... |
correct output |
---|
32 |
user output |
---|
32 |
Test 21
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1596 640 607 511 1446 1150 27 471 918 1084 ... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 22
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1210 837 455 275 375 64 203 319 654 1970 ... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 23
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
1928 1716 1608 1878 688 110 1243 786 1225 599 ... |
correct output |
---|
12 |
user output |
---|
12 |
Test 24
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 1998 2 1 1 0 3 1999 1 ... |
correct output |
---|
498 |
user output |
---|
498 |
Test 25
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 0 2 1999 1 1998 3 3 5 ... |
correct output |
---|
2892 |
user output |
---|
2892 |
Test 26
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 0 2 1607 1 1998 3 3 5 ... |
correct output |
---|
3340 |
user output |
---|
3340 |
Test 27
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 461 538 0 1 964 1999 1097 1999 ... |
correct output |
---|
17769 |
user output |
---|
17769 |
Test 28
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 746 0 1 1698 1 30 31 16 35 ... |
correct output |
---|
1698 |
user output |
---|
1698 |
Test 29
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 182 0 1 1039 1 20 25 3 24 ... |
correct output |
---|
1039 |
user output |
---|
1039 |
Test 30
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 586 0 1 1099 1 18 32 26 44 ... |
correct output |
---|
1099 |
user output |
---|
1099 |
Test 31
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 486 0 1 1818 1 13 44 7 43 ... |
correct output |
---|
1818 |
user output |
---|
1818 |
Test 32
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 0 1 1679 1 4 45 16 38 ... |
correct output |
---|
1679 |
user output |
---|
1679 |
Test 33
Group: 3, 4, 5
Verdict: ACCEPTED
input |
---|
2000 2000 0 1 1999 1 26 58 32 54 ... |
correct output |
---|
32 |
user output |
---|
32 |
Test 34
Group: 4, 5
Verdict: ACCEPTED
input |
---|
1072 18342 859 530 340 1662 444 840 138 1101 ... |
correct output |
---|
3 |
user output |
---|
3 |
Test 35
Group: 4, 5
Verdict: ACCEPTED
input |
---|
1998 21857 1560 1143 456 1062 1406 1134 493 1223 ... |
correct output |
---|
4 |
user output |
---|
4 |
Test 36
Group: 4, 5
Verdict: ACCEPTED
input |
---|
1938 19374 506 706 489 740 1275 106 428 209 ... |
correct output |
---|
2 |
user output |
---|
2 |
Test 37
Group: 4, 5
Verdict: ACCEPTED
input |
---|
1997 29997 1764 629 1100 167 1684 957 1490 105 ... |
correct output |
---|
3 |
user output |
---|
3 |
Test 38
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 18 1452 1182 1737 1105 842 872 232 ... |
correct output |
---|
3 |
user output |
---|
3 |
Test 39
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 1998 2 1 1 0 3 1999 1 ... |
correct output |
---|
3 |
user output |
---|
3 |
Test 40
Group: 4, 5
Verdict: ACCEPTED
input |
---|
1999 30000 1997 2 1 1 0 3 1998 1 ... |
correct output |
---|
4 |
user output |
---|
4 |
Test 41
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 0 2 1999 1 1998 3 3 5 ... |
correct output |
---|
2892 |
user output |
---|
2892 |
Test 42
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 0 2 1607 1 1998 3 3 5 ... |
correct output |
---|
3340 |
user output |
---|
3340 |
Test 43
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 0 1 1999 1 1998 1 1998 1 ... |
correct output |
---|
1999 |
user output |
---|
1999 |
Test 44
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 0 1 1679 1 11 111 30 73 ... |
correct output |
---|
1679 |
user output |
---|
1679 |
Test 45
Group: 4, 5
Verdict: ACCEPTED
input |
---|
2000 30000 0 1 1999 1 136 241 60 205 ... |
correct output |
---|
9 |
user output |
---|
9 |
Test 46
Group: 5
Verdict: ACCEPTED
input |
---|
12345 24321 10073 2306 9631 1444 4511 2266 2440 1738 ... |
correct output |
---|
6 |
user output |
---|
6 |
Test 47
Group: 5
Verdict: ACCEPTED
input |
---|
23221 22370 19215 23255 2243 2534 12921 13851 13997 18633 ... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 48
Group: 5
Verdict: ACCEPTED
input |
---|
21193 29373 12730 16949 2962 10542 3218 29083 1118 24647 ... |
correct output |
---|
25 |
user output |
---|
25 |
Test 49
Group: 5
Verdict: ACCEPTED
input |
---|
15297 22617 2947 25356 8121 8001 2834 21377 1882 8668 ... |
correct output |
---|
31 |
user output |
---|
31 |
Test 50
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 20832 10056 23055 12297 9466 24054 427 8139 ... |
correct output |
---|
35 |
user output |
---|
35 |
Test 51
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 29998 2 1 1 0 3 29999 1 ... |
correct output |
---|
28 |
user output |
---|
28 |
Test 52
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 29998 2 1 1 0 3 29999 1 ... |
correct output |
---|
23851 |
user output |
---|
23851 |
Test 53
Group: 5
Verdict: ACCEPTED
input |
---|
29999 2 110 2 17 2 |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 54
Group: 5
Verdict: ACCEPTED
input |
---|
30000 4 29998 2 1 1 0 3 29999 1 |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 55
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 29999 1 25731 1 29123 1 ... |
correct output |
---|
29999 |
user output |
---|
29999 |
Test 56
Group: 5
Verdict: ACCEPTED
input |
---|
30000 2471 1 2 0 29997 20232 31 26226 31 ... |
correct output |
---|
53 |
user output |
---|
53 |
Test 57
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 2 29999 1 29998 3 1 9 ... |
correct output |
---|
54996 |
user output |
---|
54996 |
Test 58
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 2 29999 1 29998 3 1 5 ... |
correct output |
---|
56832 |
user output |
---|
56832 |
Test 59
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 2 29999 1 29998 3 1 5 ... |
correct output |
---|
56832 |
user output |
---|
56832 |
Test 60
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 2 24989 1 29998 3 1 5 ... |
correct output |
---|
45814 |
user output |
---|
45814 |
Test 61
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 6605 8395 0 1 20018 29999 15431 29999 ... |
correct output |
---|
417046 |
user output |
---|
417046 |
Test 62
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 29999 1 29997 2 3 1 ... |
correct output |
---|
29998 |
user output |
---|
29998 |
Test 63
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 28252 1 111 592 397 568 ... |
correct output |
---|
28252 |
user output |
---|
28252 |
Test 64
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 19226 1 50 299 205 353 ... |
correct output |
---|
19226 |
user output |
---|
19226 |
Test 65
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 16189 1 47 336 236 331 ... |
correct output |
---|
16189 |
user output |
---|
16189 |
Test 66
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 27719 1 100 204 43 85 ... |
correct output |
---|
27719 |
user output |
---|
27719 |
Test 67
Group: 5
Verdict: ACCEPTED
input |
---|
30000 30000 0 1 29999 1 126 187 57 231 ... |
correct output |
---|
123 |
user output |
---|
123 |