Cod sursa(job #2607885)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 30 aprilie 2020 12:38:17
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>
#define lll long long
using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
    lll x;
    lll n , i;
    f>>n;
    f>>x;
    lll prim_corect = 1 ;
    lll suma_curenta = x;
    lll suma_trecuta = x;
    lll maxim = -1e16;
    lll prim = 1;
    lll ultim = 1;
    lll k = 1;
    n -- ;
    while(n)
    {
        f>>x;
        k++;
        suma_curenta = x + suma_trecuta;
        if( x >= suma_curenta )
        {
            prim = k;
            ultim = k;
            suma_trecuta = x;
            if( x > maxim)  {
                prim_corect = prim ;
                maxim = x;
            }
        }
        else if(x < suma_curenta)
        {
            suma_trecuta = suma_curenta;
            if( suma_curenta > maxim )
            {
                prim_corect = prim ;
                maxim = suma_curenta;
                ultim = k;
            }
        }
        n--;
    }
    g<<maxim<<" "<<prim_corect <<" "<<ultim;

    return 0;
}