Cod sursa(job #2791335)

Utilizator paul911234vaida paul paul911234 Data 30 octombrie 2021 13:06:25
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;

const int SIZE_N = 6000001;

int sp[SIZE_N] = {0};

int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    int x, n;
    fin >> n >> x;
    sp[1] = x;
    for (int i = 2; i <= n; ++i) {
        fin >> x;
        sp[i] = sp[i - 1] + x;
    }
    int maxim = sp[n - 1] - sp[1], begin, end;
    for (int i = n; i >= 1; --i) {
         for (int j = 1; j < n; ++j) {
              if (maxim < sp[i] - sp[j]) {
                  maxim = sp[i] - sp[j - 1];
                  begin = j;
                  end = i;
              }
         }
    }
    fout << maxim << ' ' << begin << ' ' << end;
  }