U276948 列车 ( train )
题目背景
春运期间,火车票购买成了一大问题,小 Z 想知道从一个站到另一个站的座位情况。当然,那么复杂的事情他肯定不会了,于是请你解决这个问题。
题目描述
现在有一班列车,途径 $n$ 个站点,有 $m$ 名乘客已经买好了票,总共有 $k$ 个座位。
给出 $m$ 名乘客的买票情况和 $q$ 个询问,每个询问问你从 $a$ 到 $b$ 的 $c$ 名乘客中有几个能完成回家的旅途呢?
输入格式
第一行三个整数 $n,m,k,q$。
之后 $m$ 行,每行两个数 $a_i,b_i$,表示第 $i$ 名乘客的起点和终点。
然后 $q$ 行,每行三个数 $a_i,b_i,c_i$,表示从 $a$ 到 $b$ 的 $c$ 名乘客。
输出格式
对于每个询问,输出一行表示最多能让几个人完成旅行。
说明/提示
本题弱化版。数组开个5000就能AC。
数据保证m个乘客的行为肯定合法,不会超出车厢限制。
[加强版](https://www.luogu.com.cn/problem/U235996)
参考std($n \log n$):
```cpp
//Author: Velvet on Luogu(uid=443675)
//40% data(2)
#include
#define int long long
#define mkpr make_pair
#define fi first
#define se second
#define F(i,a,b) for(int i=(a);i=(b);i--)
using namespace std;
using namespace __gnu_cxx;
inline int read(){int x=0,f=1;char ch=getchar();while(ch'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&chy;
a[x]++;a[y]--;
}
F(i,1,n) a[i]+=a[i-1];
ST_init();
F(i,1,q){
int x,y,z,mx=0;cin>>x>>y>>z;
mx=Q(x,y-1);
cout