Cod sursa(job #663237)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 18 ianuarie 2012 08:47:45
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#define l 6000005
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[l],a[l],n,i,pozf,MAX=-1*l*100,sum;
int main() {
  f >> n;
  for (i = 1;i <= n;i++) {
    f >> a[i];
    v[i] = a[i];
  }

  for (i = 1;i <= n;i++) {
    v[i] = max(v[i], v[i] + v[i-1]);
    if (v[i] > MAX) MAX = v[i], pozf = i;
  }

  for (i = pozf;sum + a[i] != v[pozf];sum += a[i],i--);

  g << MAX<< " " << i <<" "<< pozf;

  f.close();
  g.close();
  return 0;
}