Submission #818122

#TimeUsernameProblemLanguageResultExecution timeMemory
818122BamshooTFeast (NOI19_feast)C++14
45 / 100
26 ms26836 KiB
#include <iostream> #include <algorithm> #include <cstring> #define FOR(i, a, b) for (int i = (a); i <= (b); ++i) #define ll long long #define inf 1e18 using namespace std; struct dt{ ll t, c; bool operator < (const dt &x) const{ return (t > x.t); } }; const int N = 3e5 + 9; int n, k, t; ll dp[2009][2009], a[N], pre[N]; void solve(){ int p; ll s = 0; FOR(i, 1, n) { s += a[i]; if (a[i] < 0) p = i; } cout << s - a[p]; } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("nhap.inp", "r", stdin); // freopen("xuat.out", "w", stdout); cin >> n >> k; FOR(i, 1, n) { cin >> a[i]; t += (a[i] < 0); pre[i] = pre[i-1] + a[i]; } if (t == 0){ cout << pre[n]; return 0; } if (t == 1 && k > 1) { solve(); return 0; } FOR(i, 1, k) { ll cur = 0; FOR(j, 1, n) { cur = max(cur, dp[i-1][j] - pre[j]); dp[i][j] = max(dp[i][j-1], pre[j] + cur); } } cout <<dp[k][n]; return 0; }

Compilation message (stderr)

feast.cpp: In function 'void solve()':
feast.cpp:29:20: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
   29 |     cout << s - a[p];
      |                 ~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...