Cod sursa(job #1294311)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 17 decembrie 2014 11:38:45
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <stdio.h>
int a[50001],val[50001],ct[50001];
int main()
{
    FILE *fin,*fout;
    fin=fopen("secv2.in","r");
    fout=fopen("secv2.out","w");
    int n,k;
    fscanf(fin,"%d%d",&n,&k);
    for(int i=0;i<n;i++) fscanf(fin,"%d",&a[i]);
    val[0]=a[0];
    ct[0]=1;
    for(int i=1;i<n;i++)
    {
        if(val[i-1]+a[i]<0)
        {
            val[i]=a[i];
            ct[i]=1;
        }
        else
        {
            val[i]=val[i-1]+a[i];
            ct[i]=ct[i-1]+1;
        }
    }
    int post=-1,maxim=0;
    for(int i=0;i<n;i++)
    {
        if(ct[i]>=k)
        {
            if(maxim<=val[i])
            {
                maxim=val[i];
                post=i;
            }
        }
    }
    if(k!=n) fprintf(fout,"%d %d %d",post+2-ct[post],post+1,maxim);
    else
    {
        int s=0;
        for(int i=0;i<n;i++) s+=val[i];
        fprintf(fout,"1 %d %d",n,s);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}