求助……
查看原帖
求助……
401641
_MJawa_楼主2021/1/31 17:44

TLE\color{#052242}\text{TLE}*2

#include <bits/stdc++.h>
using namespace std;
inline int rd()
{
	register int ans=0;
	char ch;
	while(ch<'0'||ch>'9')ch=getchar();
	while(ch>='0'&&ch<='9'){ans=ans*10+ch-'0';ch=getchar();}
	return ans;
}
bool k;
int q[10010],n,z[300010],c,m,l,r,x,y;

int main()
{
	n=rd(),c=rd();//scanf("%d%d",&n,&c);
	for(register int i=1;i<=n;i++)z[i]=rd();//scanf("%d",&z[i]);
	m=rd();//scanf("%d",&m);
	m++;
	while(--m)
	{
		l=rd(),r=rd();//scanf("%d%d",&l,&r);
		for(register int j=l;j<=r;j++)
		{
			q[z[j]]++;
			if(q[z[j]]>x)
			{
				x=q[z[j]];
				y=z[j];
			}
			if(x>(r-l+1)>>1)
			{
				printf("yes %d\n",y);
				k=1;
				break;
			}
		}
		if(k==0)printf("no\n");
		k=0;
		for(register int i=1;i<=c;i++)
		{
			q[i]=0;
		}
		x=0;y=0;
	}
	return 0;	
}
2021/1/31 17:44
加载中...