五彩斑斓
查看原帖
五彩斑斓
551630
Lemon_zqp楼主2022/8/28 17:15
#include<bits/stdc++.h> 
using namespace std;

int a[100005];

int b(int l, int r, int w)
{
	int mid;
	while(l <= r)
	{
		mid = (l + r) / 2; 
		if(a[mid] == w) return true;
		if(a[mid] > w) r = mid - 1;
		else l = mid + 1;
	}
	return false;
}

int main()
{
	int n, m, w, q, x, y, cnt = 0;
	cin >> n >> m >> w;
	for(int i = 1; i <= n; i++)
	{
		cin >> a[i];	
	}	
	for(int i = 1; i <= m; i++)
	{
		cin >> q;	
		if(q == 1)
		{
			cin >> x >> y;
			a[x] = y;
		} 
		else
		{
			int l, r, ans = 0;
			cin >> l >> r;
			l = l ^ cnt;
			r = r ^ cnt;
			for(int i = l; i <= r; i++)
			{
				for(int j = i + 1; j <= r; j++)
				{
					if(a[i] + a[j] == w)
					{
						ans++;
					}
				}
			}
			if(ans >= 1)
			{
				cout << "Yes" << endl;
			}
			else
			{
				cout << "No" << endl;
			}
		}
	}
	return 0;	
}

大佬看看

2022/8/28 17:15
加载中...