求帮忙看一下为什么会编译错误
  • 板块P3939 数颜色
  • 楼主WxjzKK
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/7/15 11:24
  • 上次更新2023/10/27 20:15:14
查看原帖
求帮忙看一下为什么会编译错误
160150
WxjzKK楼主2022/7/15 11:24
#include<bits/stdc++.h>
#define AC 300005
using namespace std;
inline int read()
{
	int s=0,t=1;
	char c=getchar();
	while (c<'0'||c>'9')
	{
		if (c=='-') t=-1;
		c=getchar();
	}
	while (c>='0'&&c<='9')
	{
		s=s*10+c-48;c=getchar();
	}
	return s*t;
}
inline void write(int x)
{
	if (x<0)
	{
		putchar('-');x=-x;
	}
	if (x>9) write(x/10);
	putchar(x%10+'0');
}
vector<int>v[AC];
int color[AC];
int main()
{
	int n,m;
	n=read();m=read();
	for (register int i=1;i<=n;++i) 
	{
		color[i]=read();
		v[color[i]].push_back(i);
	}
	for (register int i=1;i<=m;++i)
	{
		int op,l,r,c;
		op=read();
		if (op==1)
		{
			l=read();r=read();c=read();
			write(upper_bound(v[c].begin(),v[c].end(),r)-lower_bound(v[c].begin(),v[c].end(),l));
			putchar('\n');
		}
		else
		{
			c=read();
			v[color[c]][lower_bound(v[c].begin(),v[c].end(),c)]=c+1;
			v[color[c+1]][lower_bound(v[c+1].begin(),v[c+1].end(),c+1)]=c;
			swap(color[c],color[c+1]);
		}
	}
	return 0;
}

2022/7/15 11:24
加载中...