Cod sursa(job #1313297)

Utilizator Alex1199Alex Bercea Alex1199 Data 10 ianuarie 2015 15:33:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.45 kb
#include <stdio.h>
#include <fstream>
using  namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int nr,n,smax,sol,poz,st,dr;
int main()
{
  sol=-0x3f3f3f3f;  smax=0; poz=1;
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>nr;
         if (smax<0)
          {
             smax=nr;
             poz=i;
          }
         else smax+=nr;
         if (smax>sol)
            {
                sol=smax;
                st=poz;
                dr=i;
            }
    }
   g<<sol<<' '<<st<<' '<<dr;
    return 0;
}






































/*#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int a[6000001], i, j,s,sm, n, b, e;
int best[100000], min1,bestSum;
int main()
{

     f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
bestSum = a[1];
for (i = 1; i <= n; ++ i) {
    best[i] = a[i];
    if (best[i] < best[i-1] + a[i])
        best[i] = best[i-1] + a[i];
    if (bestSum < best[i])
        bestSum = best[i];
}


    return 0;
}

*/




























/*int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
      sm=a[1];
    for(i=1;i<=n;i++)
    {    s=0;
        for(j=i;j<=n;j++)
        {
            s+=a[j];
            if (sm<s) {
                        sm=s; b=i; e=j;
                      }
        }
    }
   g<<sm<<' '<<b<<' '<<e;
    return 0;
}*/