Cod sursa(job #1978063)

Utilizator BiancaMariaVulsanVulsan Bianca Maria BiancaMariaVulsan Data 6 mai 2017 21:18:34
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,v[6000001],st=1,dr,minn,maxsum,best,pmin;
int main()
{
    f>>n;
    maxsum=INT_MIN;
    for(i=1; i<=n; i++)
    {f>>v[i]; v[i]=v[i-1]+v[i];}
    minn=v[0];
    for(i=1; i<=n; i++)
    {
      best=v[i]-minn;
      if(minn>v[i]) {minn=v[i]; pmin=i;}
      if(best>maxsum) {maxsum=best; dr=i; st=pmin;}
      if(best==maxsum && pmin<st) {st=pmin; dr=i;}
      if(best==maxsum && pmin==st && i-pmin<dr-st) dr=i;
    }
    g<<maxsum<<' '<<st+1<<' '<<dr;
    f.close();
    g.close();
    return 0;
}