PAT1007

#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;

int main(void){

int k;
int i,j;

int sum = 0;
int max = 0;
int start,rs;
int end,flag;
vector<int> list;
while(scanf("%d",&k)!=EOF){
sum = 0;
max = -1;
start = 0;
rs = 0;
list.clear();
end = 0;
flag = 0;
for(i=0;i<k;i++){
scanf("%d",&j);
if(j>=0) flag = 1;
sum+=j;
list.push_back(j);
if(sum>max){ max = sum; end = i; rs = start;}
if(sum<=0) {sum = 0; start = i+1;}
}
if(flag==1){
printf("%d %d %d\n",max,list[rs],list[end]);
}else printf("0 %d %d\n",list[0],list[k-1]);
}

return 0;
}

时间: 2024-11-06 21:59:31

PAT1007的相关文章

pat1007. Maximum Subsequence Sum (25)

1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1 <= i <= j <= K. The

(原)pat1007素数猜想

---恢复内容开始--- 1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数.“素数对猜想”认为“存在无穷多对相邻且差为2的素数”. 现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数. 输入格式:每个测试输入包含1个测试用例,给出

PAT1007. 素数对猜想 (20)

让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数.“素数对猜想”认为“存在无穷多对相邻且差为2的素数”. 现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数. 输入格式:每个测试输入包含1个测试用例,给出正整数N. 输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数. 输入样例: 20 输出样例: 4思路:素数的判断 sqrt减小时间 1 #include<stdio.h

PAT1007. Maximum Subsequence Sum

Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1 <= i <= j <= K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For examp

PAT-1007素数对猜想

题目:1007素数对猜想(20分) 让我们定义dn为:dn=pn+1?pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数."素数对猜想"认为"存在无穷多对相邻且差为2的素数".现给定任意正整数N(<10^5),请计算不超过N的满足猜想的素数对的个数. 输入格式 输入在一行给出正整数n 输出格式 在一行中输出不超过n的满足猜想的素数对的个数 输入样例 20 输出样例 4 首先我们要明白怎么判断一个数是否是素数(2,3,5,7...) 质数