제출 #818115

#제출 시각아이디문제언어결과실행 시간메모리
818115BamshooTFeast (NOI19_feast)C++14
41 / 100
1055 ms30488 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; } if (k == 1) cout << max(max(pre[p - 1], pre[n] - pre[p]), s); if (k == 2) 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 == 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; }

컴파일 시 표준 에러 (stderr) 메시지

feast.cpp: In function 'void solve()':
feast.cpp:30:32: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
   30 |     if (k == 2) 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...