Cod sursa(job #767246)
Utilizator | Cobzaru Adrian-Andrei Andrei.Xwe | Data | 13 iulie 2012 00:46:42 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
#include<values.h>
using namespace std;
int v[6000001],s[6000001],b[6000001];
int main()
{
ifstream fcin("ssm.in");
ofstream fcout("ssm.out");
int n,i,min=0,max=-INT_MAX,inceput=0,sfarsit;
fcin>>n;
for(i=1;i<=n;i++)
fcin>>v[i];
for(i=1;i<=n;i++)
s[i]=s[i-1]+v[i];
for(i=1;i<=n;i++)
{
b[i]=s[i]-min;
if(s[i]<min)
min=s[i],inceput=i+1;
}
for(i=1;i<=n;i++)
if(max<b[i])
max=b[i],sfarsit=i;
fcout<<max<<" "<<inceput<<" "<<sfarsit;
return 0;
}