POJ 1976 A Mini Locomotive DP
类似 《hdu 搬寝室》
View Code
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int dp[50003][4],a[50003]; int main() { int cas, n, m, i, j; scanf("%d",&cas); while(cas--) { scanf("%d",&n); a[0]=0; for(i=1;i<=n;i++) { scanf("%d",&a[i]); a[i]+=a[i-1]; } scanf("%d",&m); memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { for(j=1;j<=3;j++) { int k = i-m; if(k<0)k=0; dp[i][j]=max(dp[i-1][j],dp[k][j-1]+a[i]-a[k]); } } printf("%d\n",dp[n][3]); } return 0; }


浙公网安备 33010602011771号