Cod sursa(job #2602037)

Utilizator bAndreiiAndrei Bacila bAndreii Data 15 aprilie 2020 17:38:38
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
    int n;
    fin >> n;
    int sMax, sMin, sActual, st, dr, x, nr = 0;
    for(int i = 1; i <= n; i ++)
    {
        fin >> x, nr ++;
        if(i == 1)
            sMax = x, sMin = x, sActual = x;
        else
        {

            sActual += x;
            if(sActual - sMin > sMax)
            {
                sMax = sActual - sMin;
                dr = nr;
            }
            if(sActual < sMin)
            {
                sMin = sActual;
                st = nr+1;
            }
        }
    }
    fout << sMax << " " << st << " " << dr;
    fin.close();
    fout.close();
    return 0;
}