Cod sursa(job #2894056)

Utilizator andreipirjol5Andrei Pirjol andreipirjol5 Data 27 aprilie 2022 10:01:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream in ("ssm.in") ;
ofstream out ("ssm.out") ;
const int N = 6000000 ;
int v[N + 5] ;
int main()
{
    int n ;
    in >> n ;
    for(int i = 1 ; i <= n ; i++)
        in >> v[i] ;
    int sc , scmax , st , stmax , drmax ;
    sc = scmax = v[1] ;
    st = stmax = drmax = 1 ;
    for(int i = 2 ; i <= n ; i++)
    {
        if(sc + v[i] < v[i])
        {
            sc = v[i] ;
            st = i ;
        }
        else sc = sc + v[i] ;
        if(sc > scmax)
        {
            scmax = sc ;
            stmax = st ;
            drmax = i ;
        }
    }
    out << scmax << ' ' << stmax << ' ' << drmax ;
    return 0 ;
}