# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
848129 | 2023-09-11T12:16:43 Z | asd12343 | Feast (NOI19_feast) | C++14 | 2 ms | 532 KB |
#pragma GCC optimize("Os") #include <bits/stdc++.h> using namespace std; const int MN = 2e6+5; const int INF = 0x3f3f3f3f; #define int long long #define pb push_back #define p make_pair #define fi first #define se second #define pii pair<int,int> #define f(i,a,b) for (int i = a ; i < b ; i++) #define f1(i,a,b) for (int i = a ; i > b ; i--) #define f2(i,a,b) for (int i = a ; i <= b ; i++) #define FILE(X) \ freopen(#X ".INP","r",stdin); \ freopen(#X ".OUT","w",stdout); mt19937 rd(chrono::steady_clock::now().time_since_epoch().count()); int random(int l, int r) { return l + rd() % (r - l + 1); } int a[MN]; int n,k,pos; int cnt = 0; int dp[5003][5003]; signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); FILE(BLUESKY); bool flag = false; cin >> n >> k; for (int i = 1 ; i <= n ; i++) { cin >> a[i]; if (a[i] < 0) flag = true,cnt++, pos = i; } if (flag == false) cout << accumulate(a+1,a+n+1,0LL); else if (cnt == 1) { if (k == 1) { int sum = 0, sum2 = 0; for (int i = 1 ; i < pos ; i++) sum += a[i]; for (int i = pos+1 ; i <= n ; i++) sum2 += a[i]; cout << max(sum,sum2) << "\n"; } else { cout << accumulate(a+1,a+n+1,0LL) - a[pos]; } } else if (cnt == n) cout << 0; else if (n <= 5000) { for (int i = 0 ; i <= n ; i++) dp[i][1] = 0; for (int i = 1 ; i <= n ; i++) { for (int j = 0 ; j <= k ; j++) { dp[i][j+1] = max(dp[i][j+1],dp[i-1][j]); dp[i][j] = max(dp[i][j],dp[i-1][j] + a[i]); } } int ans = 0; for (int i = 0 ; i <= k ; i++) ans = max(ans,dp[n][i]); cout << ans <<"\n"; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 532 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |