Cod sursa(job #1710971)

Utilizator Bodo171Bogdan Pop Bodo171 Data 30 mai 2016 08:50:31
Problema Hotel Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include<fstream>
using namespace std;
struct node
{
    int mx,left,right,full;
}arb[300005];
int
void update(int nod,int l,int r,int st,int dr,int val)
{
    if(st<=l && r<=dr)
    {
        x=(l-r+1)*val;
        arb[nod].mx=x;
        arb[nod].left=x;
        arb[nod].right=x;
        arb[nod].full=1*val;
        return;
    }
    int m=(l+r)/2;
    if(st<=m) update(2*nod,l,m,st,dr,val);
    if(m<dr) update(2*nod+1,m+1,r,st,dr,val);
    if(arb[2*nod+1].full) arb[nod].right=arb[2*nod].right+arb[2*nod+1].mx;
    if(arb[2*nod].full) arb[nod].left=arb[2*nod].mx+arb[2*nod].left;
    arb[nod].mx=max(arb[2*nod].right+arb[2*nod+1].left,max(arb[2*nod].x,arb[2*nod+1].mx));
    if(arbv[2*nod].full==1&&arb[2*nod+1].full=1) arb[nod].full=1;
}
int main()
{
    ifstream f("hotel.in");
    ofstream g("hotel.out");
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
        f>>tip;
        if(tip==1)
        {
            val=1;


        }
    }
    return 0;
}