Cod sursa(job #2042549)
Utilizator | Data | 18 octombrie 2017 19:41:48 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int x[100000],n,SMax,Sum,st,poz,Lg;
int main()
{
int i,j;
f>>n;
for(i=0;i<n;i++)
{
f>>x[i];
}
for(SMax=Sum=x[0],st=poz=0,Lg=i=1;i<n;i++)
{
if(Sum<0)
Sum=x[i],st=1;
else{Sum+=x[i];
if (SMax<Sum) SMax=Sum, poz=st, Lg=i-st+1;
}
}
g<<SMax<<" "<<poz+2<<" "<<poz+Lg;
return 0;
}