Cod sursa(job #1211830)

Utilizator ericutzdevilEric Spataru ericutzdevil Data 23 iulie 2014 13:19:11
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include<stdio.h>

int main()

{

freopen ("secv2.in","r",stdin);
freopen ("secv2.out","w",stdout);

int n,k,v[100001],i,secv,s[100001];

scanf ("%d%d",&n,&k);



for (i=1;i<=n;i++){
    scanf ("%d",&v[i]);}


s[1]=v[1];

int max=-1999;

for (i=2;i<=n;i++)
    {
        s[i]=s[i-1]+v[i];

    }

    int sum,smax=0,pozi,pozf,j;
    for(i=1;i<=n;i++)
        for(j=i+k-1;j<=n;j++)
        {
            sum=s[j]-s[i-1];
            if(smax<sum)
            {
                smax=sum;
                pozi=i;
                pozf=j;
            }
        }
if (n==k)
    {

        for (i=1;i<=n;i++)
            {

                if (max<v[i])
                    {

                        max=v[i];

                    }
            }
    printf ("1 %d %d",n,max);
    }
if (n!=k)
    {int cci,ccj;
    if(smax!=0)
    printf ("%d %d %d",pozi,pozf,smax);
    else
    {
        smax=-2000000;
        for (i=1;i<=n-k;i++)
            {
                sum=0;
                for (j=i;j<=i+k-1;j++)
                    sum+=v[j];
                if (smax<sum)
                    {
                        smax=sum;
                        cci=j-1;
                        ccj=j-k;
                    }
            }
        printf ("%d %d %d",ccj,cci,smax);
    }}
return 0;
}