Cod sursa(job #239400)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 4 ianuarie 2009 18:44:26
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>

int n,k;
int a[50001];
long sum[50001];
int min[50001];
int pzz[50001];

int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    scanf("%d %d",&n,&k);
    min[0]=0;
    for(int i=1;i<=n;i++)
      {scanf("%d",&a[i]);
       sum[i]=sum[i-1]+a[i];
       if(min[i-1]<sum[i])
         {min[i]=min[i-1];
          pzz[i]=pzz[i-1];
         }
         else {
               min[i]=sum[i];
               pzz[i]=i;
               }
      }

    int pz,max=-25001,pc;
    for(int i=k;i<=n;i++)
       if(sum[i]-min[i-k]>max)
         {pz=i;
          max=sum[i]-min[i-k];
          pc=pzz[i-k]+1;
         }
    printf("%d %d %d\n",pc,pz,max);
    return 0;
}