Cod sursa(job #1060659)

Utilizator IonSebastianIon Sebastian IonSebastian Data 18 decembrie 2013 12:34:39
Problema SequenceQuery Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>

using namespace std;

ifstream in("sequencequery.in");
ofstream out("sequencequery.out");

const int MAX_M = 100000;
int v[MAX_M], m, n, a, b, sol, i;
struct sir{
    int sum;
    int prefix;
    int sufix;
}t[1<<18];

int maxim(int a, int b, int c){
    if(a < b){
        if(b < c){
            return c;
        } else{
            return b;
        }
    } else {
        if(a < c){
            return c;
        } else {
            return a;
        }
    }
}

void initialize(int p, int st, int dr){
    if(st == dr){
        t[p].sum = t[p].prefix = t[p].sufix = v[st];
        return;
    }
    int m = (st+dr)/2;
    initialize(2*p, st, m);
    initialize(2*p+1, m+1, dr);
    t[p].sum = maxim(t[2*p].sum, t[2*p+1].sum, t[2*p].sufix+t[2*p+1].prefix);
}

int main()
{
    in >> n >> m;
    for(i = 0; i < n; i++){
        in >> v[i];
    }
    initialize(1,1,n);
    for(i = 1; i < 1<<18; i++){
        out << t[i].sum << t[i].prefix << t[i].sufix << "\n";
    }
    /*for(i = 0; i < m; i++){
        in >> a >> b;
        query();
        out << sol << "\n";
    }*/
    return 0;
}