Cod sursa(job #1412449)
Utilizator | Data | 1 aprilie 2015 12:06:14 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#define inf 0x7fffffff
using namespace std;
void citire()
{
int n,sum=0,best=-inf,st,sf,start,sfarsit;
freopen("ssm.in","r",stdin);
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int x;
scanf("%d ",&x);
if(sum<0)
sum=x,st=i;
else
sum+=x;
if(best<sum)
{
start=st;
sfarsit=i;
best=sum;
}
}
freopen("ssm.out","w",stdout);
printf("%d %d %d",best,start+1,sfarsit+1);
}
int main()
{
citire();
return 0;
}