Cod sursa(job #2032196)

Utilizator RaresANDCRares Andrei Codreanu RaresANDC Data 4 octombrie 2017 18:04:15
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
    int a[100],N,i,pmin,nmin=INT_MAX,smax,poz,smax2=INT_MIN,pmax;
    fin >> N;
    for(i=1;i<=N;i++){
        fin >> a[i];
    }
    for(i=2;i<=N;i++){
        a[i]=a[i-1]+a[i];
    }
    N++;
    for(i=N;i>1;i--){
        a[i]=a[i-1];
    }
    a[1]=0;
    for(i=1;i<=N;i++){
        poz=i;
        if(nmin>a[i]){
            nmin=a[i];
            pmin=i;
            smax=a[i];
        }
            else {
                smax=a[i]-nmin;
            }
        if(smax2<smax)
            {
                smax2=smax;
                pmax=i-1;
            }
    }
    fout << smax2 << " " << pmin << " " << pmax;
    return 0;
}