Cod sursa(job #2924197)

Utilizator bg16-2009bg16 bg16 bg16-2009 Data 26 septembrie 2022 21:27:07
Problema Subsecventa de suma maxima Scor 45
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>

using namespace std;

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

int main(){
    int n, sir[600001], s[600001], minim=0, sol=-999999999, indice1, indice2;
    fin>>n;
    for(int i=1;i<=n;i++){
        fin>>sir[i];
    }
    s[0]=0;
    for(int i=1;i<=n;i++){
        s[i]=s[i-1]+sir[i];
    }
    for(int j=1;j<=n;j++){
        if(s[j]<minim){
            indice1=j+1;
            minim=s[j];
        }
        if(s[j]-minim>sol){
            indice2=j;
            sol=s[j]-minim;
        }
    }
    fout<<sol<<" "<<indice1<<" "<<indice2;
}