Submission #1320496
Source Code Expand
#include <algorithm> int N, M, K, ptr[100009]; long long dp[309][100009]; int main() { scanf("%d %d %d", &N, &M, &K); for (int i = 0; i < N; i++) scanf("%lld", &dp[0][i]); for (int i = 1; i < K; i++) { int pl = 0, pr = 0; for (int j = 0; j < N; j++) { if (j >= i) dp[i][j] = dp[i - 1][ptr[pl]] + 1LL * (i + 1) * dp[0][j]; if (ptr[pl] == j - M) pl++; while (pl < pr && dp[i - 1][ptr[pr - 1]] < dp[i - 1][j]) pr--; ptr[pr++] = j; } } printf("%lld\n", *std::max_element(dp[K - 1], dp[K - 1] + N)); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Struck Out |
User | square1001 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 546 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:4:30: error: ‘scanf’ was not declared in this scope scanf("%d %d %d", &N, &M, &K); ^ ./Main.cpp:15:62: error: ‘printf’ was not declared in this scope printf("%lld\n", *std::max_element(dp[K - 1], dp[K - 1] + N)); ^