Run ID | Author | Problem | Lang | Verdict | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|
31095 | WZH | 山区建小学 | C++ | Wrong Answer | 0 MS | 256 KB | 638 | 2023-11-14 21:44:53 |
#include<bits/stdc++.h> using namespace std; int m,n; int d[510]; int a[510][510]; int q[510][510]; int c(int x,int y) { int mid=(x+y)/2,ans=0; for(int i=x;i<=y;i++){ ans+=abs(d[i]-d[mid]); } } int main() { for(int i=2;i<=m;i++){ scanf("%d",&d[i]); d[i]+=d[i-1]; } // for(int i=1;i<=m;i++){ for(int j=i;j<=m;j++){ a[i][j]=c(i,j); } cout<<endl; } // for(int i=1;i<=m;i++){ for(int j=2;j<=n&&j<=i;i++){ if(j==1) q[i][j]=a[1][j]; else { for(int k=1;k<i;k++){ q[i][j]=min(q[i][j],q[k][j-1]+a[k+1][i]); } } } } cout<<q[m][n]; return 0; }