Pagini recente » Cod sursa (job #1601068) | Cod sursa (job #319848) | Cod sursa (job #1683719) | Cod sursa (job #1513362) | Cod sursa (job #1710971)
#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;
}