社区讨论
这多少真的有些离谱吧
P7252[JSOI2011] 棒棒糖参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @miersl31
- 此快照首次捕获于
- 2025/11/26 00:08 3 个月前
- 此快照最后确认于
- 2025/11/26 10:18 3 个月前
不是这份暴力代码只是加了卡时,就活活通过了此题。
笑点解析:循环最多只执行80遍。
不知道这算不算讨论区题解啊,不要举报我,求求了。
下面是代码:
CPP#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;
gp_hash_table<int,int>mp;
int n,m,c[100005],l,r,len,sh,tle=80,cnt;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d",&c[i]);
while(m--)
{
mp.clear();
scanf("%d%d",&l,&r);
len=r-l+1;
sh=-1;
cnt=0;
for(int i=l;i<=r;i++)
{
mp[c[i]]+=1;
cnt++;
if(mp[c[i]]*2>len)
{
sh=c[i];
break;
}
if(cnt>=tle)break;
}
if(sh==-1)printf("%d\n",0);
else printf("%d\n",sh);
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...