Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
149101 唐钧 双色马 C++ 通过 100 19 MS 256 KB 500 2024-05-25 16:06:06

Tests(15/15):


#include<bits/stdc++.h> #define dp(i,j) dp[(i)%2][j] using namespace std; int n,k,dp[1097][1097],b[1097]; int main() { cin>>n>>k; for(int i=0;i<2;i++) { for(int j=i+1;j<=500;j++) { dp[i][j]=1<<30; } } for(int i=1,x;i<=n;i++) { cin>>x; b[i]=b[i-1]+x; } for(int i=1;i<=k;i++) { for(int j=i;j<=n-(k-i);j++) { for(int k=i-1;k<j;k++) { dp(i,j)=min(dp(i,j),dp(i-1,k)+(b[j]-b[k])*(j-k-(b[j]-b[k]))); } } } cout<<dp(k,n); return 0; }


测评信息: