PAT-最大サブ列と問題
1348 ワード
01-1. 最大サブカラムと問題(20)
時間の制限
10000 ms
メモリ制限
65536 kB
コード長制限
8000 B
クイズルーチン
Standard
K個の整数からなる配列{N 1,N 2,...,NK},「連続サブ列」は{Ni,Ni+1,...,Nj}と定義され,そのうち1<=i<=j<=Kである.「最大サブ列和」は、連続するすべてのサブ列要素の和の中で最大として定義されます.例えば、所与のシーケンス{−2,11,−4,13,−5,−2}は、その連続サブ列{11,−4,13}が最大および20を有する.プログラムを作成し、指定した整数シーケンスの最大サブカラムとを計算する必要があります.
入力形式:
1行目に正の整数K(<=100000)を入力します.2行目にはK個の整数が与えられ、その間はスペースで区切られている.
出力フォーマット:
行に最大のサブカラムとを出力します.シーケンス内のすべての整数が負の場合、0が出力されます.
サンプルを入力:
出力サンプル:
時間の制限
10000 ms
メモリ制限
65536 kB
コード長制限
8000 B
クイズルーチン
Standard
K個の整数からなる配列{N 1,N 2,...,NK},「連続サブ列」は{Ni,Ni+1,...,Nj}と定義され,そのうち1<=i<=j<=Kである.「最大サブ列和」は、連続するすべてのサブ列要素の和の中で最大として定義されます.例えば、所与のシーケンス{−2,11,−4,13,−5,−2}は、その連続サブ列{11,−4,13}が最大および20を有する.プログラムを作成し、指定した整数シーケンスの最大サブカラムとを計算する必要があります.
入力形式:
1行目に正の整数K(<=100000)を入力します.2行目にはK個の整数が与えられ、その間はスペースで区切られている.
出力フォーマット:
行に最大のサブカラムとを出力します.シーケンス内のすべての整数が負の場合、0が出力されます.
サンプルを入力:
6
-2 11 -4 13 -5 -2
出力サンプル:
20
/*************************************************************************
> File Name: .c
> Author: ttop5
> Blog: www.ttop5.net
> Mail: [email protected]
> Created Time: 2014 12 10 09 16 13
************************************************************************/
#include
#define MAXN 100000
int main()
{
int i, N, a[MAXN];
int ThisSum, MaxSum;
ThisSum = MaxSum = 0;
scanf("%d", &N);
for(i=0; i MaxSum)
{
MaxSum = ThisSum;
}
else if(ThisSum < 0)
{
ThisSum = 0;
}
}
printf("%d
", MaxSum);
return 0;
}