Cod sursa(job #2472236)

Utilizator victorv88Veltan Victor victorv88 Data 12 octombrie 2019 10:37:42
Problema Secventa 2 Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

long long n, k, sir[50005];
long long partiale[50005], maxi, ind_start, ind_end, ind_mini;

void solve()
{
    maxi=partiale[k], ind_start=1, ind_end=k;
    int mini=partiale[1];
    for (int i=k+1; i<=n; i++)
    {
        if (partiale[i-k]<mini)
            mini=partiale[i-k], ind_mini=i-k+1;
        if (partiale[i]>maxi)
            maxi=partiale[i], ind_start=1, ind_end=i;
        if (partiale[i]-mini>maxi)
            maxi=partiale[i]-mini, ind_start=ind_mini, ind_end=i;
    }
    g << ind_mini<<' ' <<ind_end <<' '<<maxi;
}

int main() {
    f >> n >> k;
    for (int i=1; i<=n; ++i)
    {
        f >> sir[i];
        partiale[i]=partiale[i-1]+sir[i];
    }
    solve();
    return 0;
}