记录编号 |
311324 |
评测结果 |
AAATAAAAAAAA |
题目名称 |
售票系统 |
最终得分 |
91 |
用户昵称 |
Hoohan(%Dalao) |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
2.659 s |
提交时间 |
2016-09-24 11:22:38 |
内存使用 |
0.50 MiB |
显示代码纯文本
/*railway.cpp
**program - lwg*/
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int c,s,r;
int train[60005];//[i]为I和I+1之间的距离。
int Q_read() {
int ans = 0;
char c = 0;
while(c < '0' || c > '9') c = getchar();
while(c >= '0' && c <= '9') {
ans *= 10;
ans += c-'0';
c = getchar();
}
return ans;
}
void init()
{
for(register int i=0;i<=c;i++)
{
train[i]=s;
}
}
int find_min(int begin,int end)
{
int maxs=65000;
for(register int i=begin;i<end;i++)
{
if(train[i]<maxs) maxs=train[i];
}
return maxs;
}
void clear(int begin,int end,int need)
{
for(register int i=begin;i<end;i++)
{
train[i]-=need;
}
}
int aj(int begin,int end,int need)
{
int now=find_min(begin,end);
if(now<need)
{
putchar('N');putchar('O');putchar('\n');
}
else
{
clear(begin,end,need);
putchar('Y');putchar('E');putchar('S');putchar('\n');
}
}
int main()
{
freopen("railway.in","r",stdin);
freopen("railway.out","w",stdout);
//scanf("%d%d%d",&c,&s,&r);
c=Q_read();s=Q_read();r=Q_read();
init();
int begin,end,need;
for(register int i=0;i<r;i++)
{
//scanf("%d%d%d",&begin,&end,&need);
begin=Q_read();end=Q_read();need=Q_read();
aj(begin,end,need);
}
return 0;
}