Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Maximum Sum Sequence"
https://onlinejudge.u-aizu.ac.jp/problems/0022
・和の最大値
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume0 - 0022 : Maximum Sum Sequence
/* Aizu Online Judge in C++ #Volume0 - 0022 : Maximum Sum Sequence https://onlinejudge.u-aizu.ac.jp/problems/0022 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll n,a; while(cin>>n,n){ cin>>a; ll m=a,o=a; n--; while(n--){ cin>>a; if(o<0){ o=a; }else{ o+=a; } m=max(m,o); } cout<<m<<endl; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/