Cod sursa(job #2923838)

Utilizator adelina_15InfoAdelina Radoi adelina_15Info Data 19 septembrie 2022 20:03:04
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int n;
vector<int>sp;

void Citire()
{
    fin >> n;
    int ant = 0;
    sp.push_back(0);
    for(int i = 1; i <= n; i++)
    {
        int x;
        fin >> x;
        sp.push_back(x+sp[i-1]);
        ant = x;
    }
}

int main()
{
    Citire();
    int maxim = sp[1], pozmax = 1;
    int minim = sp[1], pozmin = 1;
    for(int i = 1; i <= n; i++)
    {
        if(sp[i] > maxim)
        {
            pozmax = i;
            maxim = sp[i];
        }
        if(sp[i] < minim)
        {
            minim = sp[i];
            pozmin = i;
        }
    }
    if(maxim == minim)
    {
        fout << maxim << " ";
        fout << pozmin << " " << pozmax;
        return 0;
    }
    fout << maxim-minim << " ";
    fout << pozmin+1 << " " << pozmax;
    return 0;
}