求助
  • 板块P2681 众数
  • 楼主ganxingyu
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/12/8 16:23
  • 上次更新2023/10/27 00:07:52
查看原帖
求助
848465
ganxingyu楼主2022/12/8 16:23

求助,无法搜到最后一位,全RE

那个大佬来帮一下

代码:

#include<iostream>
using namespace std;
const int N=1e5;
long long a[N],x[N],y[N],f[N],f1[N];
bool flag[N];
#define int long long
signed main()
{
	int n,m,e=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i];		
	for(int i=1;i<=m;i++)                  cin>>flag[i]>>x[i]>>y[i];
	for(int i=1;i<=m;i++)
	{
		if(flag[i]==1)
		{
			a[x[i]]=y[i];
		}
		else
		{
			for(int j=x[i];j<=y[j]+2;j++)
			{
				f[a[j]]+=1;
			}
			int e=0,k=0;
			for(int j=x[i];j<=y[i];j++)
			{
				if(e<f[a[j]])
				{
					e=max(e,f1[a[j]]);
					k=a[j];
				}
				else if(e==f[a[j]])
				{
					k=max(k,a[j]);
				}
				f[a[j]]=0;
			}
			cout<<k<<endl;
		}
	}
	return 0;
}
2022/12/8 16:23
加载中...