Cod sursa(job #2086301)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 11 decembrie 2017 20:12:50
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, sp[50002], mini[50002], st[50002], maxi=INT_MIN;
int main()
{
    int i, x, stk, drk;
    fin>>n>>k;
    fin>>sp[1];
    mini[1]=sp[1];
    st[1]=1;
    for(i=2; i<=n; i++)
    {
        fin>>x;
        sp[i]=sp[i-1]+x;
        if(sp[i]<mini[i-1])
            mini[i]=sp[i], st[i]=i;
        else mini[i]=mini[i-1], st[i]=st[i-1];
    }
    for(i=k; i<=n; i++)
    {
        x=sp[i]-mini[i-k];
        if(x>=maxi)
        {
            maxi=x;
            stk=st[i-k]+1;
            drk=i;
        }
    }
    fout<<stk<<' '<<drk<<' '<<maxi<<'\n';
    return 0;
}