Cod sursa(job #1268109)

Utilizator LidiadobreaDobrea Lidia Ioana Lidiadobrea Data 20 noiembrie 2014 17:03:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.26 kb
#include <fstream>
using namespace std;
//int n,v[6000001],i,j,smax,poz1,poz2,s,a,si,sj,nrmax,p,ok;
int n,a,i,s,poz1,poz2,smax,poz;
int main(){
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    in>>n;
    s=0;
    in>>a;
    poz1=1;poz2=1;
    smax=a;
    for(i=2;i<=n;i++){
        in>>a;
        if(s<0){
            s=0;
            poz=i;
        }
        s+=a;
        if(s>smax){
            smax=s;
            poz2=i;
            poz1=poz;
        }
    }
    out<<smax<<" "<<poz1<<" "<<poz2;
    //solutie suspecta de 95 puncte
    /*ok=1;
    in>>n;
    in>>v[1];
    si=v[1];
    sj=v[1];
    nrmax=-2147483648;
    if(v[1]>0) ok=0;
    else{
        nrmax=v[1];
        p=1;
    }
    for(i=2;i<=n;i++){
        in>>a;
        v[i]=v[i-1]+a;
        if(v[i]>0) ok=0;
        else if(nrmax<a){
            nrmax=a;
            p=i;
        }
        if(v[i]>si){
            si=v[i];
            poz2=i;
        }
    }
    sj=v[1];
    poz1=1;
    for(i=2;i<poz2;i++)
        if(v[i]<sj){
            poz1=i;
            sj=v[i];
        }
    smax=si-sj;
    if(ok==0)
    out<<smax<<" "<<poz1+1<<" "<<poz2;
    else out<<nrmax<<" "<<p<<" "<<p;*/
    in.close();
    out.close();
    return 0;
}