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