Cod sursa(job #2927836)

Utilizator Utucora2017Nicolae Utucora2017 Data 21 octombrie 2022 17:24:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int a,sol[5],cnt;
int main(){
    int n,maxi,st=1,dr=1,maxst=1,maxdr=1;
    cin>>n;
    cin>>a;
    sol[cnt]=a;
    maxi=sol[0];
    for(int i=2;i<=n;i++){
        cin>>a;
        if(sol[cnt]+a<0&&a+sol[cnt]<a)
            sol[1-cnt]=a,st=i,dr=i;
        else{
            if(sol[cnt]+a<a)
                sol[1-cnt]=a,st=i;
            else
                sol[1-cnt]=a+sol[cnt],dr=i;
        }
        if(sol[1-cnt]>maxi)
            maxst=st,maxdr=dr,maxi=sol[1-cnt];
        cnt=1-cnt;
    }
    cout<<maxi<<" "<<maxst<<" "<<maxdr;
}