Cod sursa(job #698337)

Utilizator shuleavSulea Vlad shuleav Data 29 februarie 2012 13:30:36
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n,i,s[6000010],x,mini,maxi,st,fn;
int main(){
  f>>n;
  for(i=1;i<=n;i++){
    f>>x;
    s[i]=s[i-1]+x;
  }
  mini=st=0;maxi=-999999999;
  for(i=1;i<=n;i++){
    if (s[i]-mini>maxi) {
      maxi=s[i]-mini;
      fn=i;
    }
    if (s[i]<mini) {
      mini=s[i];
      st=i;
    }
  }
  g<<maxi<<' '<<st+1<<' '<<fn<<'\n';
  f.close();
  g.close();
  return 0;
}