Cod sursa(job #361569)

Utilizator csizMocanu Calin csiz Data 5 noiembrie 2009 21:04:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
 using namespace std;
 int main(){
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    int n;in>>n;

    int s=0,ts=0,d=0,maxim=-(1<<30),minim=0,sum=0;
    for(int i=0;i<n;i++){
        int t;in>>t;
        sum+=t;
        if(sum-minim>maxim){
            maxim=sum-minim;
            s=ts;d=i;
        }
        if(sum<minim){
            minim=sum;
            ts=i;
        }

    }
    if(s==d){
        out<<maxim<<" "<<s+1<<" "<<d+1;
    }else    out<<maxim<<" "<<s+2<<" "<<d+1;

 }