Cod sursa(job #2909269)

Utilizator kaarl77Kaarl Moroti kaarl77 Data 10 iunie 2022 21:21:16
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream f("ssm.in");
    ofstream o("ssm.out");

    int v[6000001], n;
    f>>n;

    for(int i=1;i<=n;i++)
    {
        f>>v[i];
    }

    int bs = (~0)<<31;
    int min = 0;
    int id, start, end;

    for(int i=1;i<=n;i++)
    {
        v[i] += v[i-1];
        if(bs<v[i]-min)
        {
            bs = v[i] - min;
            start = id+1;
            end=i;
        }
        if(min>v[i])
        {
            min = v[i];
            id=i;
        }
    }
    o<<bs<<" "<<start<<" "<<end;
    f.close();
    o.close();

    return 0;
}