Cod sursa(job #854877)

Utilizator TheShadowsAlexandru Cristian TheShadows Data 14 ianuarie 2013 11:19:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
int main(){
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    bool pp=false;
    int c,n,sum=-1, a, maxs=-1, maxa, maxb, mins=5, mina; in>>n;
    for(int i=1; i<=n; i++){
        in>>c; if(c>-1) pp=true;
        if(sum<0){
            a=i;
            sum=c;
        }else sum+=c;
        if(maxs<sum||(maxs==sum&&maxb-maxa>i-a)){
            maxs=sum;
            maxa=a;
            maxb=i;
        }
        if(!pp&&(mins==5||c>mins)){
            mins=c;
            mina=i;
        }
    }
    if(pp)
        out<<maxs<<" "<<maxa<<" "<<maxb<<"\n";
    else
        out<<mins<<" "<<mina<<" "<<mina<<"\n";
    return 0;
}