Cod sursa(job #1877961)

Utilizator GeorginskyGeorge Georginsky Data 13 februarie 2017 20:04:30
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#define N 6000000
#define inf 0x7777777
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n, a, b, p;
long long s[N+1], x, mn, mx=-inf;
int main(){
    in>>n;
    in>>s[1];
    if(n==1){
        out<<s[1]<<" 1 1";
        return 0;
    }
    mn=s[1];
    p=1;
    for(int i=2; i<=n; i++){
        in>>x;
        s[i]=s[i-1]+x;
        if(s[i]-mn>mx)mx=s[i]-mn,a=p+1,b=i;
        if(s[i]<mn)mn=s[i],p=i;
    }
    out<<mx<<" "<<a<<" "<<b;
    return 0;
}