Cod sursa(job #2831944)

Utilizator db_123Balaban David db_123 Data 12 ianuarie 2022 14:56:51
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
//#include <iostream>
#include <vector>
#include <climits>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

#define FOR(i,a,b) for(int i=(a);i<=(b);i++)

int n;
int sumMax=0,pozMaxL=0,pozMaxR=0;

void read(){
    cin>>n;

    int nr,sum,l=1;
    cin>>nr;
    sum=nr;
    FOR(i,2,n){
        cin>>nr;
//        cout<<"nr:"<<nr<<" sum:"<<sum<<"\n";
        if(nr<sum+nr){
//            cout<<"am intrat pe sum<sum+nr...\n";
            sum+=nr;
        }
        else{
//            cout<<"nu am intrat pe sum<sum+nr...\n";
            l=i;
            sum=nr;
        }
        if(sumMax<sum){
//            cout<<"am intrat pe sumMax<sum...\n";
            sumMax=sum;
            pozMaxR=i;
            pozMaxL=l;
        }
        else{
//            cout<<"nu am intrat pe sumMax<sum...\n";
        }
    }
    cout<<sumMax<<" "<<pozMaxL<<" "<<pozMaxR;
}

int main() {

    read();
    return 0;
}