Cod sursa(job #800885)
Utilizator | Florin Ilie florin.ilie | Data | 22 octombrie 2012 20:53:00 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <cstdio>
using namespace std;
int n,a[7000000];
void citire ()
{
freopen("ssm.in","r",stdin);
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
}
int in,sf,max=-10000000;
void parcurgere ()
{
int s=0;
for(int i=0;i<n;i++)
{
if(s<0){
in=i;
s=0;
}
s+=a[i];
if(max<s)
{
sf=i;
max=s;
}
}
}
int main ()
{
citire();
parcurgere();
freopen("ssm.out","w",stdout);
printf("%d %d %d\n",max,in+1,sf+1);
}