Cod sursa(job #3310622)

Utilizator radu_flradu fl radu_fl Data 15 septembrie 2025 16:48:18
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>
using namespace std;
const int NMAX=50000;
int v[NMAX+1];
long long sum[NMAX+1],minsum[NMAX+1],posmin[NMAX+1];
int main() {
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");
    int n,k;
    fin>>n>>k;
    for (int i=1;i<=n;i++)
        fin>>v[i];
    sum[0]=0;
    for (int i=1;i<=n;i++)
        sum[i]=sum[i-1]+v[i];
    minsum[0]=0; 
    posmin[0]=0;
    for (int i=1;i<=n;i++) {
        if (sum[i]<minsum[i-1]) {
            minsum[i]=sum[i];
            posmin[i]=i;
        } else {
            minsum[i]=minsum[i-1];
            posmin[i]=posmin[i-1];
        }
    }
    long long r=-900000000;
    int st=1,dr=k;
    for (int i=k;i<=n;i++) {
        long long cand=sum[i]-minsum[i-k];
        if (cand>r) {
            r=cand;
            st=posmin[i-k]+1; 
            dr=i;
        }
    }

    fout<<st<<" "<<dr<<" "<<r;
    return 0;
}