Cod sursa(job #2197374)

Utilizator benjamin2205Zeic Beniamin benjamin2205 Data 21 aprilie 2018 22:19:31
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
int sir[6000005];

void citire();
void afisare();

void rezolvare() {
    int minim = 0;
    int sumaMaxima = INT_MIN;
    int iMax;
    int iMin = 0;

    for (int i = 1; i <= n; ++i) {
        sir[i] += sir[i - 1];
    }cout << "b";

    for (int i = 1; i <= n; ++i) {
//        cout << "a";
        if (sir[i] - sir[iMin] > sumaMaxima) {
//            cout << "b";
            sumaMaxima = sir[i] - sir[iMin];
            iMax = i;
        }
//        cout << "n";
        if (sir[i] < minim) {
            minim = sir[i];
            iMin = i;
        }
    }

    g << sumaMaxima << ' ';

    g << iMin + 1 << ' ' << iMax << '\n';

    afisare();
}

int main()
{
    citire();
    //afisare();
    rezolvare();
    return 0;
}

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

void afisare() {
    for (int i = 1; i <= n; ++i) {
        g << sir[i] << ' ';
    }
}