Senior's Array

 Accepts: 199
 Submissions: 944
 Time Limit: 2000/1000 MS (Java/Others)
 Memory Limit: 65536/65536 K (Java/Others)
问题描述
某天学姐姐得到了一个数组A,在这个数组的所有非空区间中,她找出了一个区间和最大的,并把这个区间和定义为这个数组的美丽值。

但是她觉得这个数组不够美,于是决定修理一下这个数组。

学姐姐将会进行一次操作,把原数组中的某个数修改为P(必须修改)。

最后她想使得修改后的数组尽可能美丽。请你帮助她计算经过修理后,这个数组的美丽值最大能是多少?
输入描述
第一行包含一个整数T,表示测试数据组数。

对于每组测试数据:

第一行包含两个整数n,P,表示数组长度以及修改后的值。

接下来一行包含n个整数A[i],表示初始的数组。

1≤n≤1000, −109≤A[i],P≤109。
输出描述
对于每组测试数据输出一个整数表示对应的答案。
输入样例
2
3 5
1 -1 2
3 -2
1 -1 2
输出样例
8
2

一个一个替换,看哪一次得到的最多。这道题比的时候被hack了,不开心啊啊啊啊。自己还是需要很大的努力。

还有要记住啊,这个是要一个一个替换,肯定是一个一个替换,没有大小条件啊,因为是序列啊啊啊。

代码:

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std; int value[1005];
long long left_v[1005]; long long max(long long a,int b)
{
return a>b?a:b;
} int main()
{
int Test,num,tihuan,i,j,temp;
long long ans;
scanf("%d",&Test); while(Test--)
{
ans=-1e18;
memset(left_v,0,sizeof(left_v)); scanf("%d%d",&num,&tihuan); for(i=1;i<=num;i++)
{
scanf("%d",&value[i]);
} for(j=1;j<=num;j++)
{
temp=value[j];
value[j]=tihuan; left_v[1]=value[1]; if(left_v[1]>ans)
ans=left_v[1]; for(i=2;i<=num;i++)
{
left_v[i]=max(left_v[i-1]+value[i],value[i]);
if(left_v[i]>ans)
ans=left_v[i];
}
value[j]=temp;
}
cout<<ans<<endl;
}
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU 5280 BestCoder Round #47 1001:Senior's Array的更多相关文章

  1. HDU 5281 BestCoder Round #47 1002:Senior's Gun

    Senior's Gun  Accepts: 235  Submissions: 977  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  2. hdu 5284 BestCoder Round #48 ($) 1001 水题 *

    题意:看一个字符串中是否包含顺序的  w  y  h ,字符之间可以有其他字符,并且如果有多个连续的vv,则可以看做一个w 比较水,直接看代码 #include<cstdio> #incl ...

  3. 贪心 BestCoder Round #39 1001 Delete

    题目传送门 /* 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 否则再在tot里减去多余的即为答案 用set容器也可以做,思路一样 */ # ...

  4. hdu 5643 BestCoder Round #75

    King's Game  Accepts: 249  Submissions: 671  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6 ...

  5. hdu 5641 BestCoder Round #75

    King's Phone  Accepts: 310  Submissions: 2980  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  6. 暴力 BestCoder Round #46 1001 YJC tricks time

    题目传送门 /* 暴力:模拟枚举每一个时间的度数 详细解释:http://blog.csdn.net/enjoying_science/article/details/46759085 期末考结束第一 ...

  7. 字符串处理 BestCoder Round #43 1001 pog loves szh I

    题目传送门 /* 字符串处理:是一道水题,但是WA了3次,要注意是没有加'\0'的字符串不要用%s输出,否则在多组测试时输出多余的字符 */ #include <cstdio> #incl ...

  8. hdu 5667 BestCoder Round #80 矩阵快速幂

    Sequence  Accepts: 59  Submissions: 650  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536 ...

  9. 暴力 BestCoder Round #41 1001 ZCC loves straight flush

    题目传送门 /* m数组记录出现的花色和数值,按照数值每5个搜索,看看有几个已满足,剩下 5 - cnt需要替换 ╰· */ #include <cstdio> #include < ...

随机推荐

  1. leetcode743 Network Delay Time

    """ here are N network nodes, labelled 1 to N. Given times, a list of travel times as ...

  2. Typora: Markdown Reference (Typora下Markdown语法使用说明)

    引言 由于一直在使用Typora,这个是我使用过的最棒的Markdown编辑器,但是总是忽略某一个功能,于是决定认真看一下其帮助文档 这里做一个简单主要功能的中文翻译(按键对应Windows下). 标 ...

  3. Day5 - D - Conscription POJ - 3723

    Windy has a country, and he wants to build an army to protect his country. He has picked up N girls ...

  4. 002、创建第一个Java程序HelloWord

    代码如下: package TIANPAN; public class TestDemo { public static void main(String args[]) { System.out.p ...

  5. .net 4.0 : Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.****'

    解决办法,添加 MicroSoft.CSharp 的引用.

  6. ActiveMQ的安装与配置详情

    (1)ActiveMQ的简介 MQ: (message queue) ,消息队列,也就是用来处理消息的,(处理JMS的).主要用于大型企业内部或与企业之间的传递数据信息. ActiveMQ 是Apac ...

  7. Mysql多对多关系的查询

    1.创建user表 2.创建gateway表 3.创建user_gateway表 4.创建device表 5.创建gateway_device表 6.创建一个实体类 public class Devi ...

  8. maven项目使用mybatis+mysql

    1.添加依赖,在pom.xml中添加 <!--mybatis核心包--> <dependency> <groupId>org.mybatis</groupId ...

  9. Ubuntu 1804 进入紧急模式

    进入系统引导前,长按shift键:     选择第一条,按e进入编辑     添加完成后,只需按下 CTRL+x 或 F10 即可继续启动救援模式         接下来,输入以下命令将根 (/) 文 ...

  10. java第三周