记录编号 |
494380 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
售票系统 |
最终得分 |
100 |
用户昵称 |
-1 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.135 s |
提交时间 |
2018-04-10 16:32:17 |
内存使用 |
0.18 MiB |
显示代码纯文本
#include<stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
class _______
{public:
int _,__;
}_[240010];
int __,___,____,_____,______,_______,________;
int _L_(){
int _________=0,__________=1;char ___________=getchar();
while(___________<'0'||___________>'9'){
if(___________=='-') __________=-1;
___________=getchar();
}
while(___________>='0'&&___________<='9'){
_________=_________*10+___________-48;
___________=getchar();
}
return _________*__________;
}
inline void pushdown(int _Y_)
{
if(_[_Y_].__)
{
_[_Y_<<1]._+=_[_Y_].__;
_[_Y_<<1|1]._+=_[_Y_].__;
_[_Y_<<1].__+=_[_Y_].__;
_[_Y_<<1|1].__+=_[_Y_].__;
_[_Y_].__=0;
}
}
int query(int _Y_,int _________,int ____)
{
if(_________>=_____&&____<=______)
return _[_Y_]._;
int mid=(_________+____)>>1,now=0;
pushdown(_Y_);
if(_____<=mid)
now=max(now,query(_Y_<<1,_________,mid));
if(mid<______)
now=max(now,query(_Y_<<1|1,mid+1,____));
return now;
}
void add(int _Y_,int _________,int ____)
{
if(_________>=_____&&____<=______){
_[_Y_]._+=_______,_[_Y_].__+=_______;return;}
int mid=(_________+____)>>1;
pushdown(_Y_);
if(_____<=mid)
add(_Y_<<1,_________,mid);
if(mid<______)
add(_Y_<<1|1,mid+1,____);
_[_Y_]._=max(_[_Y_<<1]._,_[_Y_<<1|1]._);
}
int lyh()
{
freopen("railway.in","r",stdin);
freopen("railway.out","w",stdout);
__=_L_()-1;
___=_L_();
____=_L_();
for(________=1;________<=____;________++)
{
_____=_L_();
______=_L_()-1;
_______=_L_();
if(___-query(1,1,__)>=_______){
printf("YES\n");
add(1,1,__);
}
else
printf("NO\n");
}
return 0;
}
int Main=lyh();
int main(){;}