Cod sursa(job #1528720)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 19 noiembrie 2015 22:51:20
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<cstdio>
using namespace std;
int v[50010],sum[50010],minim[50010];
int main(){
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    int n,k,i,maxim=-200000000,left,right;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++){
        scanf("%d",&v[i]);
        sum[i]=sum[i-1]+v[i];
        if(sum[i]<sum[minim[i-1]])
            minim[i]=i;
        else
            minim[i]=minim[i-1];
    }
    for(i=k;i<=n;i++)
        if(sum[i]-sum[minim[i-k]]>maxim){
            maxim=sum[i]-sum[minim[i-k]];
            left=minim[i-k]+1;
            right=i;
        }
    printf("%d %d %d",left,right,maxim);
    return 0;
}