Cod sursa(job #2470813)

Utilizator bmarcuBogdan Marcu bmarcu Data 9 octombrie 2019 19:42:19
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

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

int v[6000001];
int s[6000001];

void intSum (int n) {
  for (int i = 1; i <= n; i++)
    s[i] = s[i - 1] + v[i];
}

void output (int start, int end) {
  for (int i = start; i <= end; i++)
    cout << v[i] << ' ';
}

void input (int &n) {
  fin >> n;
  for (int i = 1; i <= n; i++)
    fin >> v[i];
}

void secvMax (int n) {
  int maxSum = -2147483648;
  int b = 0, e = 0;

  for (int i = 1; i < n; i++)
    for (int j = i + 1; j <= n; j++)
      if (s[j] - s[i - 1] > maxSum) {
        b = i;
        e = j;
        maxSum = s[j] - s[i - 1];
      }
  fout << maxSum << ' ' << b << ' ' << e;
}

int main () {
  int n;
  input(n);
  intSum(n);
  secvMax(n);
}