Cod sursa(job #3221389)

Utilizator stefazstefan dardala stefaz Data 6 aprilie 2024 21:34:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000005];
int main() {
    int maxsum=-999999999,maxst=-1,maxdr=-1,n;
    int cursum=0,curst=1;
    fin>>n;
    for(int i=1;i<=n;++i){
        fin>>v[i];
    }
    for(int i=1;i<=n;++i){
        cursum+=v[i];
        if(cursum>maxsum){
            maxsum=cursum;
            maxst=curst;
            maxdr=i;
        }else if(cursum==maxsum){
            if(curst<maxst){
                maxst=curst;
                maxdr=i;
            }else if(curst==maxst){
                if(maxdr>i){
                    maxdr=i;
                }
            }
        }
    if(cursum<0){
        cursum=0;
        curst=i+1;
        }
    }
    fout<<maxsum<<" "<<maxst<<" "<<maxdr;

    return 0;
}