Mai intai trebuie sa te autentifici.
Cod sursa(job #1284015)
| Utilizator | Data | 6 decembrie 2014 10:20:37 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.74 kb |
#include <stdio.h>
int s_max,s_max_n;//secvneta max pana la i,numarul de numere pana la secventa de pe i
int main()
{
FILE *fin=fopen("ssm.in","r"),
*fout=fopen("ssm.out","w");
int n,k;
int i;
int x;
int max,maxi,maxl;
fscanf(fin,"%d %d",&n,&k);
fscanf(fin,"%d",&s_max);
max=s_max;
for(i=1; i<n; i++)
{
fscanf(fin,"%d",&x);
if(x>s_max+x)
s_max=x,s_max_n=1;
else s_max=s_max+x,s_max_n=s_max_n+1;
if(max<s_max)
{
maxl=s_max_n-1;
maxi=i+2;
max=s_max;
}
}
fprintf(fout,"%d %d %d",max,maxi-maxl,maxi);
fclose(fin);
fclose(fout);
return 0;
}
