Cod sursa(job #1391004)

Utilizator danutbodbodnariuc danut danutbod Data 17 martie 2015 15:46:14
Problema Subsecventa de suma maxima Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include<cstring>
#define M 6000001
using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");
int a[M],b[M],maxi=-2e9,pi,pf,ss,i,f,k,j,n;
char ch,e;
int main()
{
  fi>>n;
  for(i=1;i<=n;i++)fi>>a[i];
//   for(i=1;i<=n;i++)  //20p
//     for(j=i;j<=n;j++)
//      {ss=0;
//       for(k=i;k<=j;k++) ss+=a[k];
//       if(maxi<ss){maxi=ss;pi=i;pf=j;}
//      }
//fo<<maxi<<" "<<pi<< " "<<pf<<'\n';
b[1]=a[1];
for(i=2;i<=n;i++)b[i]=b[i-1]+a[i];
   for(i=1;i<=n;i++)
     for(j=i;j<=n;j++)
      { ss=b[j]-b[i-1];
        if(maxi<ss){maxi=ss;pi=i;pf=j;}
      }
    fo<<maxi<<" "<<pi<< " "<<pf<<'\n';
return 0;
}