Cod sursa(job #1584776)

Utilizator vapopescuVlad Andrei Popescu vapopescu Data 30 ianuarie 2016 14:35:55
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#define N 6000001
using namespace std;

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

int v[N], aux[N];

int main() {
  int n;
  fin >> n;

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

  int max = 0, maxp, prim;

  v[0] = -1;
  for (int i = 1; i <= n; i++) {
    if (aux[i-1] < 0) {
      aux[i] = v[i];
      prim = i;
    } else {
      aux[i] = aux[i-1] + v[i];
    }

    //cout << i << " " << aux[i] << "\n";
    
    if(aux[i] > aux[max]) {
      max = i;
      maxp = prim;
    }
  }

  fout << aux[max] << " " << maxp << " " << max;

  fin.close();
  fout.close();
  return 0;
}