Cod sursa(job #2262627)

Utilizator Xutzu358Ignat Alex Xutzu358 Data 17 octombrie 2018 17:29:02
Problema Subsecventa de suma maxima Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");


int main()
{
    int a=1,b,sum=0,x,apr,bpr,sumpr,i,n,maxx=-999999,xmax=-999999,aa,bb;
    fin >> n;
    for (i=1;i<=n;i++) {
        fin >> x;
        sum=sum+x;
        if (sum>maxx) {
            maxx =sum;
            b=i;
        }
        if (sum < 0 && b!=0) {
            sumpr=sum-x;
            sum = 0;
            bpr=b;
            b=0;
            apr = a;
            a=i+1;

        }
            if (xmax<x) {
                xmax = x;
                aa=i;
                bb=i;
            }

    }


  if (xmax < 0 ) {
      fout << maxx << " "<< aa << " "<< bb;
   }

   else  if (b==0) {
            fout << maxx << " "<<apr << " "<<bpr;
    }


    else {
        fout << maxx << " "<< a << " "<< b;
    }





    fin.close();
    fout.close();
    return 0;
}