Cod sursa(job #3256351)

Utilizator ImphinityComan Razvan Ioan Imphinity Data 14 noiembrie 2024 11:39:09
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
#define inf INT_MAX
using namespace std;

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

int main()
{
    int n, st=0, dr, rasp=-inf;
    in>>n;
    vector<int> v(n), sol(n);
    for (int i=0; i<n; i++)
        in>>v[i];
    bool ok=false;
    rasp= v[0];
    for(int i=0; i<n; i++) 
    {
        sol[i]= v[i];
        if(sol[i]< sol[i-1]+ v[i]) 
            sol[i]= sol[i-1] + v[i];
        if(rasp<sol[i])
            rasp= sol[i], dr=i+1;
    }
    for(int i=dr-1; sol[i]>0; i--)
        st=i+1;
    out<<rasp<<' '<<st<<' '<<dr;
}