Cod sursa(job #865056)
Utilizator | Data | 25 ianuarie 2013 23:27:53 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream>
//#include<iostream>
using namespace std;
int s[6000001],N,ma,a=1,b=1;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
cin>>N;
s[0]=0;
for(int i=1;i<=N;++i)
{
cin>>s[i];
s[i]=s[i-1]+s[i];
}
int mi=0;
int ma=s[1];
for(int i=1;i<=N;++i)
{
if(s[i-1]<mi)
{
mi=s[i-1];
a=i;
}
if(s[i]-mi>ma)
{
ma=s[i]-mi;
b=i;
}
}
cout<<ma<<" "<<a<<" "<<b;
return 0;
}