Cod sursa(job #3172000)

Utilizator mrvalentynPorumb Valentin mrvalentyn Data 19 noiembrie 2023 21:14:53
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ui unsigned int
#define intmx INT_MAX
#define in ifstream f
#define out ofstream g
#define close f.close(); g.close();
in("secv2.in");
out("secv2.out");
int n,a[50001],s[50001];
int mn=intmx,mx=-1*intmx;
int k;
int main(){
    f>>n>>k;
    for(int i=1;i<=n;++i){
        f>>a[i];
        s[i]=s[i-1]+a[i];
       // g<<s[i]<<' ';
    }

    int ans=-1*intmx;
    int ansi,ansj;
    int imn=-1,imx=-1;
    int mn=intmx,mx=-1*intmx;
    for(int i=1;i<=n;++i){
        if(mx<s[i]){
            imx=i;
            mx=s[i];
        }
        if(mn>s[i]){
            imn=i;
            mn=s[i];
        }
        if(imx>0&&imn>0){
            if(imx-imn+1>=k&&ans<s[imx]-s[imn]){
                ans=s[imx]-s[imn];
                ansj=imx;
                ansi=imn;
            }
        }

    }
    g<<ansi<<' '<<ansj<<' '<<ans;
    close return 0;
}