Cod sursa(job #1000576)

Utilizator IonSebastianIon Sebastian IonSebastian Data 23 septembrie 2013 11:51:39
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int N = 6000001;
int s[N];
int n;
void citire(){
    in >> n ;
    for(int i = 1; i <= n; i++){
        in >> s[i];
    }
}
int main()
{
    int sc = 0, smax = -6000001, pozi = 0, psi = 0, psf = 0;
    citire();
    for(int i = 1; i <= n; i++){
        if(sc < 0){
            sc = 0;
            pozi = i;
        }
        sc += s[i];
        if(sc > smax){
            smax = sc;
            psi = pozi;
            psf = i;
        }
    }
    out << smax << " " << psi << " " << psf;
    return 0;
}