HDU 5280 BestCoder Round#47 1001

来源:互联网 发布:软件测试28原则 编辑:程序博客网 时间:2024/05/17 09:21

Simple problem;

The portal:http://acm.hdu.edu.cn/showproblem.php?pid=5280

#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <iostream>using namespace std;long long a[1005];long long dp[1005];void Deal_with(){int T,n,p;scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));scanf("%d %d",&n,&p);for(int i=0;i<n;i++){scanf("%lld",a+i);}long long ans = -0x3f3f3f3f;for(int i=0;i<n;i++){long long temp = a[i];a[i] = p;        dp[0] = a[0];        long long t_ans = dp[0];        for(int j=1;j<n;j++){            if(dp[j-1]+a[j]<a[j]){                dp[j] = a[j];             }             else {                dp[j] = dp[j-1] + a[j];            }        }        for(int j=1;j<n;j++){        if(dp[j] > t_ans) t_ans = dp[j];        }        if(t_ans > ans)ans = t_ans;a[i] = temp;}printf("%lld\n",ans);}}int main(void) {//freopen("a.in","r",stdin);Deal_with();return 0;}


0 0
原创粉丝点击