# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
282948 | 2020-08-25T07:42:04 Z | 임성재(#5752) | World of Tank (innopolis2018_final_E) | C++17 | 1 ms | 640 KB |
#include<bits/stdc++.h> using namespace std; #define fast ios::sync_with_stdio(false); cin.tie(0); #define fi first #define se second #define em emplace #define eb emplace_back #define mp make_pair #define all(v) (v).begin(), (v).end() typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<ll,ll> pll; const int inf = 1e9; const ll INF = 1e18; int n, m1, m2, t; int a[5010][2]; int dp[5010][2]; vector<int> M[2]; int main() { fast; cin >> n >> m1 >> m2 >> t; for(int i=0; i<m1; i++) { int x; cin >> x; a[x][0] = 1; M[0].eb(x); } for(int i=0; i<m2; i++) { int x; cin >> x; a[x][1] = 1; M[1].eb(x); } dp[n+1][0] = dp[n+1][1] = n+1; for(int i=n; i>=0; i--) { dp[i][0] = dp[i][1] = i; if(!a[i+1][0]) dp[i][0] = max(dp[i][0], dp[i+1][0]); if(!a[i+1][1]) dp[i][1] = max(dp[i][1], dp[i+1][1]); if(!a[i][0] && !a[i+1][0]) dp[i][1] = max(dp[i][0], dp[i+1][0]); if(!a[i][1] && !a[i+1][1]) dp[i][0] = max(dp[i][1], dp[i+1][1]); } int y = 0; vector<int> v; vector<pii> f; f.eb(0, 0); v.eb(-1); for(int i=0; i<=n; i++) { if(dp[i][y] == i) { if(i < f.back().fi + t) { cout << "No\n"; return 0; } if(!a[i][1-y] && dp[i+1][y] < dp[i+1][1-y]) { y = 1 - y; int k = lower_bound(all(M[y]), i) - M[y].begin() - 1; if(k >= 0) { v.eb(max(M[y][k] + 1, v.back())); } else v.eb(0); f.eb(v.back(), y); } else f.eb(max(f.back().fi + t, v.back()), y); continue; } if(a[i+1][y]) { y = 1 - y; int k = lower_bound(all(M[y]), i) - M[y].begin() - 1; if(k >= 0) { v.eb(max(M[y][k] + 1, v.back())); } else v.eb(0); } } cout << "Yes\n"; cout << v.size()-1 << "\n"; for(auto i : v) { if(i == -1) continue; cout << i << " "; } cout << "\n"; cout << f.size() - 1 << "\n"; for(auto i : f) { if(i.fi == 0) continue; cout << i.fi << " " << i.se + 1 << "\n"; } }
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 1 ms | 512 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | [No solution found] n = 20, m1 = 12, m2 = 9, t = 3 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 1 ms | 512 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
24 | Correct | 1 ms | 384 KB | [OK, Yes] n = 500, m1 = 197, m2 = 53, t = 2 |
25 | Correct | 1 ms | 384 KB | [OK, Yes] n = 500, m1 = 189, m2 = 61, t = 3 |
26 | Correct | 0 ms | 384 KB | [OK, No] n = 500, m1 = 66, m2 = 184, t = 4 |
27 | Correct | 1 ms | 384 KB | [OK, Yes] n = 500, m1 = 248, m2 = 252, t = 1 |
28 | Correct | 1 ms | 384 KB | [OK, Yes] n = 500, m1 = 248, m2 = 252, t = 1 |
29 | Correct | 1 ms | 384 KB | [OK, Yes] n = 500, m1 = 205, m2 = 295, t = 1 |
30 | Runtime error | 1 ms | 640 KB | Execution killed with signal 11 |
31 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | [OK, Yes] n = 20, m1 = 20, m2 = 0, t = 20 |
2 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 509, m2 = 491, t = 5000 |
3 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 764, m2 = 736, t = 5000 |
4 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 698, m2 = 802, t = 5000 |
5 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 720, m2 = 780, t = 5000 |
6 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 734, m2 = 766, t = 5000 |
7 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 997, m2 = 1003, t = 5000 |
8 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1021, m2 = 979, t = 5000 |
9 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1006, m2 = 995, t = 5000 |
10 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1017, m2 = 984, t = 5000 |
11 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1495, m2 = 1506, t = 5000 |
12 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 974, m2 = 1026, t = 2501 |
13 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1022, m2 = 978, t = 2501 |
14 | Correct | 1 ms | 384 KB | [OK, Yes] n = 5000, m1 = 1019, m2 = 981, t = 2501 |
15 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1298, m2 = 1367, t = 2501 |
16 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1301, m2 = 1360, t = 2501 |
17 | Correct | 1 ms | 512 KB | [OK, Yes] n = 5000, m1 = 1320, m2 = 1315, t = 2501 |
18 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1195, m2 = 1135, t = 2501 |
19 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1148, m2 = 1202, t = 2501 |
20 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1147, m2 = 1179, t = 2501 |
21 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1163, m2 = 1146, t = 2501 |
22 | Correct | 1 ms | 512 KB | [OK, No] n = 5000, m1 = 1145, m2 = 1184, t = 2501 |
23 | Correct | 1 ms | 384 KB | [OK, No] n = 5000, m1 = 1172, m2 = 1150, t = 2501 |
24 | Incorrect | 1 ms | 384 KB | [No solution found] n = 20, m1 = 12, m2 = 9, t = 3 |
25 | Halted | 0 ms | 0 KB | - |