莫名其妙的UKE
查看原帖
莫名其妙的UKE
494699
卷王慢即快楼主2023/1/4 11:14
#include <bits/stdc++.h>
using namespace std;
int n, m, cnt = 0;
int a[50001];
bool t[1000001];
inline int read()
{
	int x = 0, f = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9')
	{
		if(ch == '-') f = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9')
	{
		x = (x << 1) + (x << 3) + (ch ^ 48);
		ch = getchar();
	}
	return x * f;
}
int main()
{
	n = read(), m = read();
	for(int i = 0; i < n; i++)
		a[i] = read();
	while(m--)
	{
		char c;
		cin >> c;
		int x = read(), y = read();
		if(c == 'M') a[x] = y;
		else
		{
			cnt = 0;
			memset(t, 0, sizeof(t));
			for(int i = x; i < y; i++)
				if(!t[a[i]])
				{
					cnt++;
					t[a[i]] = 1;
				}
			printf("%d\n", cnt);
		}
	}
	return 0;
}

哪里错了???

2023/1/4 11:14
加载中...