Cod sursa(job #2589677)

Utilizator mihhTURCU MIHNEA ALEXANDRU mihh Data 26 martie 2020 18:24:42
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("ssm.in");
ofstream fout("ssm.out");


int main(){
    int N,K=INT_MAX;
    fin>>N;
//    fin>>K;
    vector<int> A(N+1,0);
    for(int i=1;i<=N;++i)
        fin>>A[i];


    int maxi=INT_MIN;
    int i1=1, sum=0, x1, x2;
    for(int i=1;i<=N;++i){

        if(i-i1+1>K)
            sum-=A[i1], ++i1;

        if(sum<=0)
            sum=A[i], i1=i;
        else {
            sum+=A[i];
        }
        if(maxi<sum){
            x1=i1;
            x2=i;
            maxi=sum;
        }
    }
    fout<<maxi<<" "<<x1<<" "<<x2;
}