Cod sursa(job #877320)

Utilizator TibixbAndrei Tiberiu Tibixb Data 12 februarie 2013 19:31:03
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
using namespace std;
int p, u, i, n, s[6000002], x, s1, sf, pmaxim, umaxim, maxim;
int main(){
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n>>x;

    s[1] = x;
    maxim = x;
    pmaxim = 1;
    umaxim = 1;

    for(i=2; i<=n; i++){
        f>>x;
        if (x > x+s[i-1]) {
            p = i;
            s[i] = x;
        } else {
            s[i] = x + s[i-1];
        }
        if (s[i] > maxim) {

            maxim = s[i];
            pmaxim = p;
            umaxim = i;
        } else
            if (s[i] == maxim) {
                if (p == pmaxim && umaxim > i)
                    umaxim = i;
            }
    }
    g<<maxim<<" "<<pmaxim<<" "<<umaxim<<"\n";
    return 0;
}