Cod sursa(job #2982627)

Utilizator adelina_15InfoAdelina Radoi adelina_15Info Data 20 februarie 2023 16:31:39
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <climits>

using namespace std;

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

int n;

vector<int>sp;

int main()
{
    sp.push_back(0);
    fin >> n;
    for(int i = 1; i <= n; i++)
    {
        int x;
        fin >> x;
        sp.push_back(sp[i-1]+x);
    }
    int maxim = INT_MIN;
    int ind1 = 0, ind2 = 0;
    int minim = 0, ind = 0;
    for(int i = 1; i <= n; i++)
    {
        if(sp[i]-sp[ind] > maxim)
        {
            maxim = sp[i]-sp[ind];
            ind1 = ind+1;
            ind2 = i;
        }
        if(sp[i] < minim)
        {
            minim = sp[i];
            ind = i;
        }
    }
    fout << maxim << " " << ind1 << " " << ind2;
    return 0;
}