T555197怎么做也不对
  • 板块灌水区
  • 楼主Zhuimengren
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/4 11:34
  • 上次更新2025/1/4 16:17:47
查看原帖
T555197怎么做也不对
952753
Zhuimengren楼主2025/1/4 11:34

T555197 洺昕码 一 维差分前奏

#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000005],b[1000005],c[1000005],s[1000005],e[1000005];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	  scanf("%d",&a[i]),b[i]=a[i];
	sort(b+1,b+n+1);
	for(int i=1;i<=n;i++)
	  if(b[i]!=b[i-1])
	    c[++m]=b[i],s[b[i]]=i;
	for(int i=n;i>=1;i--)
	  if(b[i]!=b[i+1])
	    e[b[i]]=i;
	for(int i=1;i<=m;i++)
	{
		int mod=c[i]%5+1;
		if(mod>(e[c[i]]-s[c[i]]+1))continue;
	    for(int j=1;j<=n;j++)
	    {
	        if(a[j]==c[i])
	          mod--;
	        if(mod==0)
	        {
	        	printf("%d ",j);
	        	break;
	        }
		}
	}
	return 0;
}
2025/1/4 11:34
加载中...