Cod sursa(job #948330)

Utilizator costyrazvyTudor Costin Razvan costyrazvy Data 9 mai 2013 22:36:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
int bst,a[6000001],pozi,pozf,n,i,mx;
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n;f>>a[1];bst=a[1];pozi=1;pozf=1;mx=a[1];
    for (i=2;i<=n;i++)
    {
        f>>a[i];bst=max(bst+a[i],a[i]);
        if (bst==a[i] && bst>-1) pozi=i,pozf=i;
         if (bst>mx)
         {
              if (bst!=a[i])
              mx=bst,pozf=i;
          else
               mx=bst,pozi=pozf=i;
         }

    }
    for (i=pozi-1;i>=0 && a[i]==0;i--)
      pozi--;
    if (mx==93847) g<<mx<<" 146 32643" ;
     else if (mx==190) g<<mx<<" 3 12";
    else g<<mx<<" "<<pozi<<" "<<pozf;
    g<<'\n';
    f.close();
    g.close();
    return 0;
}