제출 #333272

#제출 시각아이디문제언어결과실행 시간메모리
333272blue수열 (APIO14_sequence)C++11
0 / 100
2076 ms5744 KiB
#include <iostream> using namespace std; int main() { int n, k; cin >> n >> k; int a[n+1]; a[0] = 0; for(int i = 1; i <= n; i++) { cin >> a[i]; a[i] += a[i-1]; } int dp[n+1][k+1]; int prev[n+1][k+1]; for(int i = 1; i <= n; i++) { for(int l = 1; l < n && l <= k; l++) { dp[i][l] = 0; prev[i][l] = 0; for(int j = l; j < i; j++) { if(dp[j][l-1] + a[j] * (a[i] - a[j]) > dp[i][l]) { dp[i][l] = dp[j][l-1] + a[j] * (a[i] - a[j]); prev[i][l] = j; } } } } cout << dp[n][k] << '\n'; int temp = n; for(int l = k; l >= 1; l--) { cout << prev[temp][l] << ' '; temp = prev[temp][l]; } cout << '\n'; }
#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...