Skip to content

25684: 食堂找座位

http://cs101.openjudge.cn/practice/25684/

同学们爱相约着一起去食堂吃饭并一起离开,但食堂位置有限,时常发现找不到座位。 假设现有 m ( 1 <= m <= 1000) 组同学计划一起吃饭,食堂总共有 c ( 1 <= c <= 10000 )个位置。 已知每组同学的人数 n、到达食堂时刻 s、吃饭用时 d( 0 <= s, d <= 10^6)。 例,n=3, s=4, d=5: 该组同学在时刻4寻找3个座位,如果找到则在 [4,9) 时刻占用座位吃饭,时刻9 已离开座位。 请你通过代码判断这 m 组同学是否都能找到座位。

输入

第一行为2个整数,分别表示前往食堂的同学组数m和食堂座位总数c。 接下来n行,每行为3个整数,分别表示一组同学的人数n、到达时刻s、吃饭用时d。

输出

一个字符,若所有同学都能找到位置为Y,否则为N。

样例输入

Sample Input1:
2 3
2 1 4
3 5 3

Sample Output1:
Y

样例输出

Sample Input2:
2 3
2 1 4
2 1 4

Sample Output2:
N

提示

tags: implementation,sort

来源

2022fall-cs101, pyn

python
line = input().split()
m, c = int(line[0]), int(line[1])
chairs = []
for i in range(int(1e6)):
    chairs.append(0)

for i in range(m):
    line = input().split()
    n, s, d = int(line[0]), int(line[1]), int(line[2])
    for i in range(s,s+d):
        chairs[i] += n

check = False
for i in chairs:
    if i > c:
        check = True
if check:
    print('N')
else:
    print('Y')