Cod sursa(job #3243094)

Utilizator Benjamin4321234Benjamin Secara Benjamin4321234 Data 15 septembrie 2024 17:31:50
Problema Secventa 2 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long n,r,maxi=-1250000001,start=1,final=1,suma,poz,k,cnt=1,v[50001];
int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++){
        fin>>v[i];
        if(suma+v[i]>=v[i]){
            suma+=v[i];
            cnt++;
        }
        else{
            poz=i;
            suma=v[i];
            cnt=1;
        }
        if(suma>maxi && cnt>=k){
            maxi=suma;
            start=poz;
            final=i;
        }

    }
if(maxi==-1250000001){
    for(int i=1;i<=n;i++){
            v[i]=-v[i];

    }

    maxi=1250000001;
    for(int i=1;i<=n-k+1;i++){
            r=0;
            for(int j=i;j<=i+k-1;j++){
                r+=v[j];
            }
        if(r<maxi){
            maxi=r;
            start=i;
            final=i+k-1;
        }

    }
    fout<<start<<" "<<final<<" "<<-maxi;
}
else{
    fout<<start<<" "<<final<<" "<<maxi;
}
    return 0;
}