Submission #388958

#TimeUsernameProblemLanguageResultExecution timeMemory
388958phathnv수열 (APIO14_sequence)C++11
28 / 100
2094 ms4704 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5 + 7; const int K = 207; int n, k, a[N], s[N]; ll dp[K][N]; int trace[K][N]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k; for(int i = 1; i <= n; i++){ cin >> a[i]; s[i] = s[i - 1] + a[i]; } for(int i = 1; i <= k + 1; i++) for(int r = 1; r <= n; r++) for(int l = 0; l < r; l++){ ll cost = (ll) (s[r] - s[l]) * (s[n] - s[r]); if (dp[i][r] < dp[i - 1][l] + cost){ dp[i][r] = dp[i - 1][l] + cost; trace[i][r] = l; } } cout << dp[k + 1][n] << '\n'; int cur = n; for(int i = k + 1; i > 1; i--){ cur = trace[i][cur]; cout << cur << ' '; } return 0; } /* 7 3 4 1 3 4 0 2 3 */
#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...