Cod sursa(job #1953755)

Utilizator Alexandra_CorduneanuAlexandra Corduneanu Alexandra_Corduneanu Data 4 aprilie 2017 23:45:43
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000000];
int smax,s,pozinc=1,pozsf,inc=1,n,i,ok,maxx;
int main()
{   fin>>n;
    for(i=1;i<=n;i++) {fin>>v[i];if(v[i]>0) ok=1;}
    if(ok==0)
        {maxx=v[1];
         for(i=2;i<=n;i++)
             if(v[i]>maxx)
                {maxx=v[i];pozinc=i;}
         fout<<maxx<<' '<<pozinc<<' '<<pozinc;
        }
        else
        {for(i=1;i<=n;i++)
        {s=s+v[i];
         if(s>smax) {smax=s;pozsf=i;pozinc=inc;}
         else if(s<0) {s=0;inc=i+1;}
         }
        fout<<smax<<' '<<pozinc<<' '<<pozsf;
        }
    fout.close();
    return 0;
}