Cod sursa(job #327845)

Utilizator popoiu.georgeGeorge Popoiu popoiu.george Data 30 iunie 2009 14:22:10
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
using namespace std;

int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
int n,k,v[50001],i,bestsum=-int(2e9),idx,st,sf,min=0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)scanf("%d",&v[i]);
if(k==n)
    {
    st=1;
    sf=k;
    for(i=1;i<=n;i++)v[i]+=v[i-1];
    bestsum=v[n];
    }
else
    {
    for(i=1;i<=n;i++)
        {
        v[i]+=v[i-1];
        if( (bestsum<v[i]-min) && ( (i-idx)>=k) )
            {
            bestsum=v[i]-min;
            st=idx+1;
            sf=i;
            }
        if(v[i]<min)
            {
            min=v[i];
            idx=i;
            }
        }
    }
printf("%d %d %d",st,sf,bestsum);
return 0;
}