Cod sursa(job #509824)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 11 decembrie 2010 20:01:24
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
# include <stdio.h>
const int MAX=50000;
long int n,k,i,j,pozmax,ninc,nincmax,sig[MAX+1],v[MAX+1],max[MAX]; 
int main()
{FILE *f=fopen("secv2.in","r");
fscanf(f,"%d%d",&n,&k);
for (i=1;i<=n;i++) fscanf(f,"%ld",&v[i]); 
for (i=1;i<=k;i++) sig[k]+=v[i];
for (i=k+1;i<=n;i++) sig[i]=sig[i-1]-v[i-k]+v[i];
max[k]=sig[k];ninc=0;pozmax=k,nincmax=0;
for (i=k+1;i<=n;i++)
if (sig[i]>v[i]+max[i-1])
{
ninc=0;
max[i]=sig[i];
if (max[i-1]>max[pozmax]) {pozmax=i;nincmax=ninc;}
        }
else
{
ninc++;
max[i]=v[i]+max[i-1];
if (max[i]>max[pozmax])   {pozmax=i;nincmax=ninc;}
}
FILE *g=fopen("secv2.out","w");
fprintf(g,"%ld %ld %ld\n",pozmax-k-nincmax+1,pozmax,max[pozmax]);
fcloseall();
return 0;
}