Cod sursa(job #3275)

Utilizator mika17Mihai Alex Ionescu mika17 Data 23 decembrie 2006 09:10:55
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#define fin "secv2.in"
#define fout "secv2.out"
#define MAX 50000
#define VMAX 25000

void read_data();
void solve();
int inf();

int sum[MAX+1],N,K;

int main()
 {
 read_data();
 solve();
 return 0;
 }

void read_data()
 {
 freopen(fin,"r",stdin);
 freopen(fout,"w",stdout);
 scanf("%d %d",&N,&K);
 for(int i=1,nr;i<=N;++i)
  {
  scanf("%d",&nr);
  sum[i]=sum[i-1]+nr;
  }
 fclose(stdin);
 }

int inf()
 {
 return VMAX*MAX+1;
 }

void solve()
{
 int smax=-inf(),min=inf(),pmin,st,sf;
 pmin=st=sf=0;
 for(int i=K;i<=N;++i)
    {
     if(sum[i-K]<min)
       {
        min=sum[i-K];
        pmin=i-K;
       }
     if(sum[i]-min>smax)
       {
       smax=sum[i]-min;
       st=pmin+1;
       sf=i;
       }
    }
 printf("%d %d %d\n",st,sf,smax);
 fclose(stdout);
}