Cod sursa(job #1790783)

Utilizator blackmanta45Andrei blackmanta45 Data 28 octombrie 2016 18:31:57
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int i,j,n,sum,maxim,pozi,pozj,soli,solj,x;

int main () {
    fin>>n;
    pozi=1;
    maxim=-10000000;
    for(i=1;i<=n;i++){
        fin>>x;
        if(sum+x<0){
            sum+=x;
            if(sum>maxim){
                maxim=sum;
                soli=i;
                solj=i;
            }
        }
        else
            if(sum+x>=x){
                sum+=x;
                pozj=i;
                if(sum>maxim){
                    maxim=sum;
                    solj=pozj;
                    soli=pozi;
                }
            }
            else{
                sum=x;
                pozi=i;
                pozj=i;
                if(sum>maxim){
                    maxim=sum;
                    solj=pozi;
                    soli=pozj;
                }
            }
    }
    fout<<maxim<<" "<<soli<<" "<<solj;
}