Cod sursa(job #2607588)

Utilizator SanduAdelinSandu Viorel-Adelin SanduAdelin Data 29 aprilie 2020 21:43:12
Problema Subsecventa de suma maxima Scor 75
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>

using namespace std;

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

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

    return 0;
}