Cod sursa(job #997506)

Utilizator otnielMercea Otniel otniel Data 14 septembrie 2013 12:48:14
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
using namespace std;
#include<stdio.h>
FILE *f,*g;
long k,n,i,j,nr,pozitieinferioara,pozitiesuperioara,idx;
int a[6000010];
long long suma=-int(2e9),minim;
int main()
{
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    fscanf(f,"%ld %ld\n",&n,&k);
    for(i=1;i<=n;i++)
        fscanf(f,"%d",&a[i]);
    for(i=1;i<=n;i++)
    {a[i]=a[i]+a[i-1];
        if(suma<a[i]-minim&&i>=k)
        {
            suma=a[i]-minim;
            pozitieinferioara=idx+1;
            pozitiesuperioara=i;
        }
        if(minim>a[i])
        {minim=a[i];
        idx=i;
        }

    }
    fprintf(g,"%lld %ld %ld",suma,pozitieinferioara,pozitiesuperioara);
}