懒得调了AC*14 WA*16
查看原帖
懒得调了AC*14 WA*16
687685
not_so_littlekayen楼主2025/2/3 22:53
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int, int>
#define max(a, b) ((a)>(b)?(a):(b))
#define min(a, b) (a<b?a:b)
#define rep(i, a, b) for(register int i = a;i <= b;i++)
const int Max = 2e5+5;
int n, w, q, sum[Max], t[Max];
vector<vector<pii> > a(Max);
bool cmp(pii l, pii r){return l.first < r.first;}
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	memset(t, 127, sizeof(t));
	cin >> n >> w;
	rep(i, 1, n)
	{
		int x, y;
		cin >> x >> y;
		a[x].push_back(make_pair(y, i));
	}
	int mins = 0x3f3f3f3f;
	rep(i, 1, w)
	{
		sum[i] = a[i].size();
		mins = min(mins, sum[i]);
	}
	rep(i, 0, mins-1)
	{
		if(i == 0)
		{
			int maxn = -0x3f3f3f3f;
			rep(j, 1, w)
				maxn = max(a[j][i].first, maxn);
			rep(j, 1, w)
				t[a[j][i].second] = maxn;
		}
		else
		{
			int maxd = -0x3f3f3f3f, base = t[a[1][i-1].second];
			rep(j, 1, w)
				maxd = max(a[j][i].first-a[j][i-1].first, maxd);
			rep(j, 1, w)
				t[a[j][i].second] = base+maxd;
		}
	}
	cin >> q;
	while(q--)
	{
		int ti, ai;
		cin >> ti >> ai;
		if(ti >= t[ai])cout << "No\n";
		else cout << "Yes\n";
	}
	return 0;
}

能过样例。 你没发现吗是1145个字节

2025/2/3 22:53
加载中...