1001
来源:互联网 发布:数据库优化方法 编辑:程序博客网 时间:2024/04/29 03:03
题意:给定几个数,第一个数代表这行除这个数外还有几个数,选出后面数的其中的一段,使得它们相加和最大,并输出这个和,
思路:这一段开始的位置,结束的位置标记好,创建一个变量是当前的和,例如sum,maxsum是最大和,进行比较,如果前者大就就更改maxsum的值,否则不变。最开始的时候就为0,所以max小于0的时候就应跳过,进行下个位置,位置的标注要注意到。
感想:不算太难的一道题
#include <iostream>
#include <cstdio>
using namespace std;
int a[100005];
int main()
{
int j,i,k,n,m,t;
cin>>t;
for (j=1;j<=t;j++)
{
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
int sum=0,maxsum=-1005,first =0, last = 0, temp = 1;
for (i=0;i<n;i++)
{
sum += a[i];
if (sum > maxsum)
{
maxsum = sum;
first = temp;
last = i+1;
}
if (sum < 0)
{
sum = 0;
temp = i+2;
}
}
cout<<"Case "<<j<<":"<<endl;
cout<<maxsum<<" "<<first<<" "<<last<<endl;
if (j!=t)
cout<<endl;
}
return 0;
}
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- 1001
- python批量导入数据进Elasticsearch
- UVa 101 - The Blocks Problem(STL)
- 文件操作
- 最大序列和
- 1013 Problem M
- 1001
- tomcat配置虚拟目录
- UVA 489 - Hangman Judge 未解决未解决未解决未解决
- Regular Expression Python
- UVA 156 - Ananagrams (map)
- 一步一步线段树
- EOF与PCA算法的python实现和比较
- NYOJ 488-素数环【dfs】
- Java内存区域与内存溢出异常