Cod sursa(job #1660032)

Utilizator mci97Mustata Ionut mci97 Data 22 martie 2016 19:19:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<iostream>
#include<fstream>

using namespace std;
int v[6000009];
int main()
{   int n,s,x,i,p,p1,q,d;
long long smax,maxm;
     ifstream fin("ssm.in");
   ofstream fout("ssm.out");
   fin>>n;
   maxm=(long long)-20000000*1000;
   for(i=0;i<n;i++) {fin>>v[i];
                      if (v[i]<0 && v[i]>maxm) {maxm=v[i];
                                                d=i;}
   }
 p=0;
 smax=(long long)-20000000*1000;
 s=0;

    for(i=0;i<n;i++) {s=s+v[i];
                       if(s<0) {p=i+1; s=0;}
                       else if  (s>smax) {smax=s;
                                           p1=p+1;
                                           q=i+1;}

                     }

if (smax<0) fout<<maxm<<" "<<d+1<<" "<<d+1;
 else fout<<smax<<" "<<p1<<" "<<q;

fin.close();
fout.close();
return 0;

}