Cod sursa(job #2262095)

Utilizator Xutzu358Ignat Alex Xutzu358 Data 16 octombrie 2018 22:52:20
Problema Subsecventa de suma maxima Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 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) {
            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 || sumpr<xmax) {
      fout << xmax << " "<< aa << " "<< bb;
   }

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


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





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