Cod sursa(job #556773)

Utilizator giuliastefGiulia Stef giuliastef Data 16 martie 2011 12:14:29
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
// subsecventa de suma maxima

#include <cstdio>
#include <fstream>
#define INF 1<<30
using namespace std;
int main()
{
    int i,n,x,ind,s,start,finish,smax;
    //freopen("ssm.in","r",stdin);
    //freopen("ssm.out","w",stdout);
    //scanf("%d",&n);
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n;
    s=0;smax=-INF;
    for(i=1;i<=n;i++)
    {
     //scanf("%d",&x);
     f>>x;
     if(s<0)
     {
      s=0;
      ind=i;
     }
     s=s+x;
     if(smax<s)
     {
      smax=s;
      start=ind;
      finish=i;
     }
    }
    //printf("%d %d %d",smax,start,finish);
    g<<smax<<" "<<start<<" "<<finish<<"\n";
    f.close();
    g.close();
    return 0;
}