Cod sursa(job #2262649)

Utilizator Xutzu358Ignat Alex Xutzu358 Data 17 octombrie 2018 17:48:52
Problema Subsecventa de suma maxima Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 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,aapr,apr,bpr,bbpr,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) {
            sumpr=sum-x;
            sum = 0;
            bpr=b;
            b=0;
            apr = a;
            a=i+1;

        }


        if (bpr!=0) {
            bbpr=bpr;
            aapr=apr;
        }
            if (xmax<x) {
                xmax = x;
                aa=i;
                bb=i;
            }

    }


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

   else if(bpr==0) {
         fout << maxx << " "<<aapr<<" "<<bbpr;
 }

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

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





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