# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
892789 | 2023-12-26T01:09:03 Z | votranngocvy | Feast (NOI19_feast) | C++14 | 27 ms | 5604 KB |
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 3e5 + 5; const int inf = 0x3f3f3f3f3f3f3f3f; int a[N],pre[N],n,k; namespace sub1 { bool check_condition() { for (int i = 1; i <= n; i++) if (a[i] < 0) return false; return true; } void solve() { int ans = 0; for (int i = 1; i <= n; i++) ans += a[i]; cout << ans << "\n"; } } namespace sub2 { bool check_condition() { int cnt = 0; for (int i = 1; i <= n; i++) if (a[i] < 0) cnt++; return (cnt == 1); } void solve() { pre[0] = 0; int pos; for (int i = 1; i <= n; i++) { pre[i] = pre[i - 1] + a[i]; if (a[i] < 0) pos = i; } if (k == 1) cout << max(pre[pos - 1],pre[n] - pre[pos]) << "\n"; else cout << pre[n] - a[pos] << "\n"; } } namespace sub5 { int dp[305][305]; void solve() { pre[0] = 0; for (int i = 1; i <= n; i++) pre[i] = pre[i - 1] + a[i]; dp[0][0] = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= k; j++) { dp[i][j] = dp[i - 1][j]; for (int z = 1; z <= i; z++) dp[i][j] = max(dp[i][j],dp[z - 1][j - 1] + pre[i] - pre[z - 1]); } cout << dp[n][k] << "\n"; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for (int i = 1; i <= n; i++) cin >> a[i]; if (sub1::check_condition()) sub1::solve(); else if (sub2::check_condition()) sub2::solve(); else if (n <= 300) sub5::solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 22 ms | 5464 KB | Output is correct |
2 | Correct | 27 ms | 5604 KB | Output is correct |
3 | Correct | 23 ms | 5464 KB | Output is correct |
4 | Correct | 24 ms | 5468 KB | Output is correct |
5 | Correct | 24 ms | 5592 KB | Output is correct |
6 | Correct | 22 ms | 5580 KB | Output is correct |
7 | Correct | 23 ms | 5468 KB | Output is correct |
8 | Correct | 23 ms | 5592 KB | Output is correct |
9 | Correct | 23 ms | 5460 KB | Output is correct |
10 | Correct | 23 ms | 5468 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 5468 KB | Output is correct |
2 | Incorrect | 16 ms | 5468 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 26 ms | 5464 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4700 KB | Output is correct |
2 | Correct | 1 ms | 4700 KB | Output is correct |
3 | Correct | 1 ms | 4700 KB | Output is correct |
4 | Correct | 1 ms | 4700 KB | Output is correct |
5 | Correct | 1 ms | 4700 KB | Output is correct |
6 | Correct | 1 ms | 4696 KB | Output is correct |
7 | Correct | 1 ms | 4700 KB | Output is correct |
8 | Correct | 1 ms | 4700 KB | Output is correct |
9 | Correct | 1 ms | 4696 KB | Output is correct |
10 | Correct | 1 ms | 4700 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4700 KB | Output is correct |
2 | Correct | 1 ms | 4700 KB | Output is correct |
3 | Correct | 1 ms | 4700 KB | Output is correct |
4 | Correct | 1 ms | 4700 KB | Output is correct |
5 | Correct | 1 ms | 4700 KB | Output is correct |
6 | Correct | 1 ms | 4696 KB | Output is correct |
7 | Correct | 1 ms | 4700 KB | Output is correct |
8 | Correct | 1 ms | 4700 KB | Output is correct |
9 | Correct | 1 ms | 4696 KB | Output is correct |
10 | Correct | 1 ms | 4700 KB | Output is correct |
11 | Correct | 3 ms | 4700 KB | Output is correct |
12 | Correct | 3 ms | 4700 KB | Output is correct |
13 | Correct | 1 ms | 4700 KB | Output is correct |
14 | Correct | 3 ms | 4700 KB | Output is correct |
15 | Correct | 2 ms | 4568 KB | Output is correct |
16 | Correct | 2 ms | 4700 KB | Output is correct |
17 | Correct | 3 ms | 4700 KB | Output is correct |
18 | Correct | 1 ms | 4700 KB | Output is correct |
19 | Correct | 1 ms | 4700 KB | Output is correct |
20 | Correct | 1 ms | 4700 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4700 KB | Output is correct |
2 | Correct | 1 ms | 4700 KB | Output is correct |
3 | Correct | 1 ms | 4700 KB | Output is correct |
4 | Correct | 1 ms | 4700 KB | Output is correct |
5 | Correct | 1 ms | 4700 KB | Output is correct |
6 | Correct | 1 ms | 4696 KB | Output is correct |
7 | Correct | 1 ms | 4700 KB | Output is correct |
8 | Correct | 1 ms | 4700 KB | Output is correct |
9 | Correct | 1 ms | 4696 KB | Output is correct |
10 | Correct | 1 ms | 4700 KB | Output is correct |
11 | Correct | 3 ms | 4700 KB | Output is correct |
12 | Correct | 3 ms | 4700 KB | Output is correct |
13 | Correct | 1 ms | 4700 KB | Output is correct |
14 | Correct | 3 ms | 4700 KB | Output is correct |
15 | Correct | 2 ms | 4568 KB | Output is correct |
16 | Correct | 2 ms | 4700 KB | Output is correct |
17 | Correct | 3 ms | 4700 KB | Output is correct |
18 | Correct | 1 ms | 4700 KB | Output is correct |
19 | Correct | 1 ms | 4700 KB | Output is correct |
20 | Correct | 1 ms | 4700 KB | Output is correct |
21 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 22 ms | 5464 KB | Output is correct |
2 | Correct | 27 ms | 5604 KB | Output is correct |
3 | Correct | 23 ms | 5464 KB | Output is correct |
4 | Correct | 24 ms | 5468 KB | Output is correct |
5 | Correct | 24 ms | 5592 KB | Output is correct |
6 | Correct | 22 ms | 5580 KB | Output is correct |
7 | Correct | 23 ms | 5468 KB | Output is correct |
8 | Correct | 23 ms | 5592 KB | Output is correct |
9 | Correct | 23 ms | 5460 KB | Output is correct |
10 | Correct | 23 ms | 5468 KB | Output is correct |
11 | Correct | 15 ms | 5468 KB | Output is correct |
12 | Incorrect | 16 ms | 5468 KB | Output isn't correct |
13 | Halted | 0 ms | 0 KB | - |