# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
102690 | 2019-03-26T19:08:40 Z | MohamedAhmed0 | K blocks (IZhO14_blocks) | C++14 | 856 ms | 79992 KB |
#include <bits/stdc++.h> using namespace std ; stack<int>s ; int main() { int n , k ; scanf("%d %d" , &n , &k) ; int arr[n+1] ; for(int i = 1 ; i <= n ; ++i) scanf("%d" , &arr[i]) ; int dp[n+1][k+1] ; int chosen[n+1][k+1] ; dp[0][1] = 0 ; for(int i = 1 ; i <= n ; ++i) dp[i][1] = max(arr[i] , dp[i-1][1]) , chosen[i][1] = dp[i][1]; for(int j = 2 ; j <= k ; ++j) { while(s.size() > 0) s.pop() ; for(int i = j ; i <= n ; ++i) { dp[i][j] = dp[i-1][j-1] + arr[i] ; chosen[i][j] = arr[i] ; while(s.size() > 0) { int idx = s.top() ; if(arr[idx] <= arr[i]) { if(dp[idx][j] - chosen[idx][j] + max(chosen[idx][j] , arr[i]) < dp[i][j]) { dp[i][j] = dp[idx][j] - chosen[idx][j] + max(chosen[idx][j] , arr[i]) ; } s.pop() ; } else break ; } if(s.size() > 0) { int idx = s.top() ; if(dp[idx][j] < dp[i][j]) { dp[i][j] = dp[idx][j] ; chosen[i][j] = chosen[idx][j] ; } } s.push(i) ; } } printf("%d" , dp[n][k]) ; return 0 ; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Correct | 3 ms | 256 KB | Output is correct |
3 | Correct | 2 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 3 ms | 256 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 3 ms | 384 KB | Output is correct |
11 | Correct | 3 ms | 384 KB | Output is correct |
12 | Correct | 2 ms | 384 KB | Output is correct |
13 | Correct | 3 ms | 256 KB | Output is correct |
14 | Correct | 2 ms | 256 KB | Output is correct |
15 | Correct | 2 ms | 256 KB | Output is correct |
16 | Correct | 2 ms | 384 KB | Output is correct |
17 | Correct | 2 ms | 256 KB | Output is correct |
18 | Correct | 2 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 2 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 256 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 2 ms | 256 KB | Output is correct |
9 | Correct | 3 ms | 256 KB | Output is correct |
10 | Correct | 2 ms | 384 KB | Output is correct |
11 | Correct | 2 ms | 256 KB | Output is correct |
12 | Correct | 2 ms | 256 KB | Output is correct |
13 | Correct | 2 ms | 256 KB | Output is correct |
14 | Correct | 3 ms | 384 KB | Output is correct |
15 | Correct | 2 ms | 384 KB | Output is correct |
16 | Correct | 2 ms | 256 KB | Output is correct |
17 | Correct | 2 ms | 256 KB | Output is correct |
18 | Correct | 2 ms | 384 KB | Output is correct |
19 | Correct | 2 ms | 256 KB | Output is correct |
20 | Correct | 2 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 412 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 3 ms | 384 KB | Output is correct |
4 | Correct | 3 ms | 384 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 256 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 2 ms | 256 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 384 KB | Output is correct |
11 | Correct | 2 ms | 384 KB | Output is correct |
12 | Correct | 2 ms | 256 KB | Output is correct |
13 | Correct | 2 ms | 384 KB | Output is correct |
14 | Correct | 2 ms | 384 KB | Output is correct |
15 | Correct | 2 ms | 384 KB | Output is correct |
16 | Correct | 2 ms | 384 KB | Output is correct |
17 | Correct | 2 ms | 384 KB | Output is correct |
18 | Correct | 2 ms | 384 KB | Output is correct |
19 | Correct | 2 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 2432 KB | Output is correct |
2 | Correct | 9 ms | 1152 KB | Output is correct |
3 | Correct | 13 ms | 3248 KB | Output is correct |
4 | Correct | 214 ms | 27448 KB | Output is correct |
5 | Correct | 856 ms | 79872 KB | Output is correct |
6 | Correct | 20 ms | 3968 KB | Output is correct |
7 | Correct | 297 ms | 36752 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 3 ms | 384 KB | Output is correct |
10 | Correct | 3 ms | 300 KB | Output is correct |
11 | Correct | 2 ms | 384 KB | Output is correct |
12 | Correct | 2 ms | 384 KB | Output is correct |
13 | Correct | 2 ms | 384 KB | Output is correct |
14 | Correct | 37 ms | 8320 KB | Output is correct |
15 | Correct | 4 ms | 512 KB | Output is correct |
16 | Correct | 12 ms | 2432 KB | Output is correct |
17 | Correct | 9 ms | 1152 KB | Output is correct |
18 | Correct | 17 ms | 3200 KB | Output is correct |
19 | Correct | 223 ms | 27316 KB | Output is correct |
20 | Correct | 808 ms | 79800 KB | Output is correct |
21 | Correct | 26 ms | 3916 KB | Output is correct |
22 | Correct | 316 ms | 36832 KB | Output is correct |
23 | Correct | 26 ms | 2296 KB | Output is correct |
24 | Correct | 43 ms | 9336 KB | Output is correct |
25 | Correct | 718 ms | 79736 KB | Output is correct |
26 | Correct | 3 ms | 384 KB | Output is correct |
27 | Correct | 3 ms | 384 KB | Output is correct |
28 | Correct | 37 ms | 8316 KB | Output is correct |
29 | Correct | 4 ms | 640 KB | Output is correct |
30 | Correct | 9 ms | 2432 KB | Output is correct |
31 | Correct | 8 ms | 1152 KB | Output is correct |
32 | Correct | 14 ms | 3328 KB | Output is correct |
33 | Correct | 198 ms | 27388 KB | Output is correct |
34 | Correct | 780 ms | 79992 KB | Output is correct |
35 | Correct | 33 ms | 3960 KB | Output is correct |
36 | Correct | 340 ms | 37012 KB | Output is correct |
37 | Correct | 4 ms | 640 KB | Output is correct |
38 | Correct | 27 ms | 8320 KB | Output is correct |
39 | Correct | 2 ms | 384 KB | Output is correct |
40 | Correct | 3 ms | 384 KB | Output is correct |
41 | Correct | 2 ms | 256 KB | Output is correct |
42 | Correct | 2 ms | 384 KB | Output is correct |