Cod sursa(job #2472179)

Utilizator FabiVeliceaVelicea Fabian Pavel FabiVelicea Data 12 octombrie 2019 10:08:01
Problema Secventa 2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");
typedef long long ll;
int x[50001],n,k;
void solve()
{
    int a,b,c,d;
    a=c=1;
    b=d=k;
    ll maxim,curent;
    maxim=curent=0;
    for(int i=1;i<=b;i++)
        maxim=curent=curent+x[i];
    while(b<n)
    {
        if(b-a==k-1 || x[b+1]>-x[a])
            curent+=x[++b];
        else
            curent-=x[a++];
        if(curent>maxim)
        {
            c=a;
            d=b;
            maxim=curent;
        }
    }
    g<<c<<' '<<d<<' '<<maxim;
}


int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>x[i];
    solve();
    f.close();
    g.close();
    return 0;
}