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;
}