Cod sursa(job #265858)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 24 februarie 2009 17:07:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
#include <cctype>


using namespace std;

int a[6000005];
int b[6000005];
int maxsum;
int pi;
int poz;
int ps;
int n;
int minim;
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f >> n;
    for(int i = 1; i <= n; i++)
    {
     f >> a[i];
     b[i] = b[i-1] + a[i];
    }
    minim = 0;
    maxsum = b[1];
    for(int i = 1; i <= n; i++)
     {
         if (b[i] - minim > maxsum)
          {
              maxsum = b[i] - minim;
              pi = poz + 1;
              ps = i;
          }
         if (minim > b[i])
          {
              minim = b[i];
              poz = i;
          }
     }
     g << maxsum << " " << pi << " " << ps;

    return 0;
}