# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
115261 | 2019-06-06T12:21:46 Z | gs14004 | World of Tank (innopolis2018_final_E) | C++17 | 433 ms | 19540 KB |
#include <bits/stdc++.h> using namespace std; using lint = long long; using pi = pair<int, int>; const int MAXN = 3000005; vector<int> v[2], ev; bool trk[MAXN][2]; int dp[MAXN][2]; int n, t; bool Has(int y, int x){ return binary_search(v[x].begin(), v[x].end(), y); } bool findCut(){ for(auto &i : v[0]){ ev.push_back(i); ev.push_back(i + 1); ev.push_back(i + 2); } for(auto &i : v[1]){ ev.push_back(i); ev.push_back(i + 1); ev.push_back(i + 2); } ev.push_back(0); sort(ev.begin(), ev.end()); ev.resize(unique(ev.begin(), ev.end()) - ev.begin()); dp[0][1] = -2e9; for(int i=1; i<ev.size(); i++){ for(int j=0; j<2; j++){ if(!Has(ev[i - 1], j) && dp[i-1][j] < min(dp[i-1][j^1], t)){ dp[i][j] = min(dp[i-1][j^1], t) + ev[i] - ev[i-1]; trk[i][j] = 1; } else{ dp[i][j] = dp[i-1][j] + ev[i] - ev[i-1]; } if(Has(ev[i], j)){ dp[i][j] -= t; if(dp[i][j] <= 0) dp[i][j] = -2e9; } } } return max(dp[ev.size() - 1][0], dp[ev.size() - 1][1]) >= 0; } void trace(){ int pos = 0; if(dp[ev.size() - 1][0] < 0) pos = 1; vector<pi> boom; vector<int> trans; for(int i=ev.size() - 1; i; i--){ if(Has(ev[i], pos)){ int where = ev[i] - dp[i][pos]; where = max(where, 1); boom.emplace_back(where, pos + 1); dp[i][pos] += t; } if(trk[i][pos]){ pos ^= 1; trans.push_back(ev[i] - 1); } } assert(pos == 0); reverse(trans.begin(), trans.end()); reverse(boom.begin(), boom.end()); cout << trans.size() << endl; for(auto &i : trans) printf("%d ", i); cout << endl << boom.size() << endl; for(auto &i : boom) printf("%d %d\n", i.first, i.second); } int main(){ int t0, t1; scanf("%d %d %d %d",&n,&t0,&t1,&t); v[0].resize(t0); v[1].resize(t1); for(int i=0; i<2; i++){ for(auto &j : v[i]){ scanf("%d",&j); } } if(!findCut()){ puts("No"); return 0; } puts("Yes"); trace(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 6 ms | 512 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 6 ms | 512 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 12, m2 = 9, t = 3 |
2 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 4, m2 = 2, t = 2 |
3 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 6, m2 = 0, t = 2 |
4 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 2, m2 = 4, t = 1 |
5 | Correct | 2 ms | 256 KB | [OK, No] n = 20, m1 = 4, m2 = 11, t = 2 |
6 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 7, m2 = 8, t = 1 |
7 | Correct | 2 ms | 384 KB | [OK, Yes] n = 20, m1 = 7, m2 = 8, t = 2 |
8 | Correct | 2 ms | 384 KB | [OK, Yes] n = 20, m1 = 0, m2 = 10, t = 2 |
9 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 4, m2 = 6, t = 2 |
10 | Incorrect | 2 ms | 256 KB | Shot isn't on the path. |
11 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 6 ms | 512 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
24 | Correct | 2 ms | 384 KB | [OK, Yes] n = 500, m1 = 197, m2 = 53, t = 2 |
25 | Correct | 2 ms | 384 KB | [OK, Yes] n = 500, m1 = 189, m2 = 61, t = 3 |
26 | Correct | 2 ms | 384 KB | [OK, No] n = 500, m1 = 66, m2 = 184, t = 4 |
27 | Correct | 4 ms | 384 KB | [OK, Yes] n = 500, m1 = 248, m2 = 252, t = 1 |
28 | Correct | 3 ms | 384 KB | [OK, Yes] n = 500, m1 = 248, m2 = 252, t = 1 |
29 | Correct | 3 ms | 384 KB | [OK, Yes] n = 500, m1 = 205, m2 = 295, t = 1 |
30 | Correct | 232 ms | 11872 KB | [OK, Yes] n = 1000000, m1 = 183472, m2 = 66528, t = 7 |
31 | Correct | 230 ms | 10980 KB | [OK, Yes] n = 1000000, m1 = 206211, m2 = 43789, t = 6 |
32 | Correct | 219 ms | 10464 KB | [OK, Yes] n = 1000000, m1 = 229445, m2 = 20555, t = 7 |
33 | Correct | 353 ms | 16360 KB | [OK, No] n = 1000000, m1 = 261335, m2 = 238665, t = 2 |
34 | Correct | 433 ms | 19540 KB | [OK, Yes] n = 1000000, m1 = 374819, m2 = 125181, t = 3 |
35 | Correct | 365 ms | 18936 KB | [OK, Yes] n = 1000000, m1 = 88376, m2 = 411624, t = 3 |
36 | Correct | 2 ms | 384 KB | [OK, Yes] n = 500, m1 = 125, m2 = 125, t = 2 |
37 | Correct | 371 ms | 19284 KB | [OK, Yes] n = 1000000, m1 = 250000, m2 = 250000, t = 2 |
38 | Correct | 174 ms | 8780 KB | [OK, Yes] n = 1000000, m1 = 94957, m2 = 94938, t = 12 |
39 | Correct | 180 ms | 9392 KB | [OK, Yes] n = 1000000, m1 = 94972, m2 = 95007, t = 10 |
40 | Correct | 29 ms | 1780 KB | [OK, Yes] n = 1000000, m1 = 14064, m2 = 13936, t = 200 |
41 | Correct | 34 ms | 2008 KB | [OK, Yes] n = 1000000, m1 = 15990, m2 = 16010, t = 139 |
42 | Correct | 83 ms | 3756 KB | [OK, Yes] n = 1000000, m1 = 32291, m2 = 32404, t = 34 |
43 | Correct | 154 ms | 7776 KB | [OK, Yes] n = 1000000, m1 = 88230, m2 = 88238, t = 13 |
44 | Correct | 87 ms | 4812 KB | [OK, Yes] n = 1000000, m1 = 44550, m2 = 44400, t = 34 |
45 | Correct | 65 ms | 3692 KB | [OK, Yes] n = 1000000, m1 = 31778, m2 = 31772, t = 44 |
46 | Correct | 223 ms | 10308 KB | [OK, No] n = 1000000, m1 = 147142, m2 = 147242, t = 10 |
47 | Correct | 2 ms | 384 KB | [OK, Yes] n = 1000, m1 = 416, m2 = 417, t = 77 |
48 | Correct | 2 ms | 384 KB | [OK, Yes] n = 1000, m1 = 412, m2 = 414, t = 111 |
49 | Correct | 2 ms | 384 KB | [OK, Yes] n = 1000, m1 = 422, m2 = 423, t = 62 |
50 | Correct | 2 ms | 384 KB | [OK, Yes] n = 800, m1 = 279, m2 = 270, t = 33 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 6 ms | 512 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 2 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 3 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 3 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 4 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 4 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 3 ms | 512 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 3 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
24 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 12, m2 = 9, t = 3 |
25 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 4, m2 = 2, t = 2 |
26 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 6, m2 = 0, t = 2 |
27 | Correct | 2 ms | 384 KB | [OK, Yes] n = 10, m1 = 2, m2 = 4, t = 1 |
28 | Correct | 2 ms | 256 KB | [OK, No] n = 20, m1 = 4, m2 = 11, t = 2 |
29 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 7, m2 = 8, t = 1 |
30 | Correct | 2 ms | 384 KB | [OK, Yes] n = 20, m1 = 7, m2 = 8, t = 2 |
31 | Correct | 2 ms | 384 KB | [OK, Yes] n = 20, m1 = 0, m2 = 10, t = 2 |
32 | Correct | 2 ms | 256 KB | [OK, Yes] n = 20, m1 = 4, m2 = 6, t = 2 |
33 | Incorrect | 2 ms | 256 KB | Shot isn't on the path. |
34 | Halted | 0 ms | 0 KB | - |