Cod sursa(job #1968505)

Utilizator 3DwArDPauliuc Edward 3DwArD Data 17 aprilie 2017 18:48:41
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,v[50002],s[50002],d[50002];
int main()
{
    f>>n>>k;
    int x;
    for(int i=1;i<=n;i++){
        f>>v[i];
        s[i]=s[i-1]+v[i];
    }
    int p1=1,p2=1,a,b,best=INT_MIN;
    for(int i=1;i<=n-k+1;i++){
        if(i==1||d[i-1]<0){
            d[i]=v[i];
            p1=i;
        }
        if(d[i-1]>=0){
            p2=i;
            d[i]=d[i-1]+v[i];
        }
        if(s[i+k]-s[i]+d[i]>best){
            best=s[i+k]-s[i]+d[i];
            a=p1;
            b=p2+k;
        }
    }
    g<<a<<" "<<b<<" "<<best;
    return 0;
}