Pagini recente » Cod sursa (job #733292) | Cod sursa (job #2831200) | Cod sursa (job #927651) | Cod sursa (job #3146605) | Cod sursa (job #607307)
Cod sursa(job #607307)
#include <stdio.h>
#include <stdlib.h>
#define Max 6000001
int a[Max],n;
int bsol[Max];
int lung[Max];
int maxi,index;
int main()
{
FILE *fin,*fout;
int i;
fin = fopen("ssm.in","r");
fout = fopen("ssm.out","w");
fscanf(fin,"%d",&n);
for(i = 1; i <= n; i++)
fscanf(fin,"%d",&a[i]);
bsol[1] = a[1];
lung[1] = 1;
for(i = 2; i <= n; i++)
if(bsol[i-1] + a[i] > a[i])
{
bsol[i] = bsol[i-1] + a[i];
lung[i] = lung[i-1] + 1;
if(bsol[i] > maxi)
{
maxi = bsol[i];
index = i;
}
}
else
{
lung[i] = 1;
bsol[i] = a[i];
}
fprintf(fout,"%d %d %d\n",maxi,index - lung[index] + 1,index);
return 0;
}