Pagini recente » Cod sursa (job #362999) | Cod sursa (job #889103) | Cod sursa (job #1806213) | Cod sursa (job #1960842) | Cod sursa (job #1095595)
//Subsecventa de suma maxima - O(N)
#include <fstream>
#include <climits>
#define Nmax 6000099
#define oo 2<<31
using namespace std;
ifstream f("ssm.in"); ofstream g("ssm.out");
int N,sol,start,finish,sum,newstart;
int main()
{
f>>N;
sol=-oo;
for(int i=1;i<=N;++i)
{
int x;
f>>x;
if(sum<0)sum=x,newstart=i;
else sum+=x;
if(sol<sum)sol=sum,start=newstart,finish=i;
}
g<<sol<<' '<<start<<' '<<finish<<'\n';
return 0;
}