Cod sursa(job #1831841)
| Utilizator | Data | 18 decembrie 2016 20:50:29 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include<cstdio>
using namespace std;
int main()
{
int n, x ,Smax, sum, st, dr, poz;;
FILE *fin, *fout;
fin = fopen("ssm.in","r");
fout = fopen("ssm.out","w");
Smax =-2000000000;
sum = 0; poz = 1;
fscanf(fin,"%d",&n);
for(int i=1; i<=n; i++)
{
fscanf(fin,"%d",&x);
if(sum < 0)
{
sum = x;
poz = i;
}
else
sum += x;
if(sum > Smax)
{
Smax = sum;
st = poz;
dr = i;
}
}
fprintf(fout,"%d %d %d\n",Smax,st,dr);
fclose(fin);
fclose(fout);
return 0;
}
