题目链接
打表,开写。
ll a[2111111];
ll b[2111111];
ll vis[2111111];
signed main()
{
ll n;
read(n);
ll pos=-1;
ll ma=0;
for(int i=1; i<=n; i++)
{
ll x;
read(x);
b[i]=x;
vis[x]=i;
a[x]++;
if(x>ma)
ma=x;
if(a[x]==2)
pos=x;
}
if(pos!=-1)
{
ll cnt=0;
for(int i=1; i<=n; i++)
{
if(b[i]==pos&&cnt==0)
{
cnt++;
printf("%lld ",i);
continue;
}
if(b[i]==pos&&cnt==1)
{
cnt++;
printf("%lld",i);
return 0;
}
}
}
ll now=-1;
for(int i=1; i<=ma; i++)
{
if(!a[i])
continue;
for(int j=2*i; j<=ma; j=j+i)
{
if(a[j])
{
printf("%lld %lld",vis[i],vis[j]);
return 0;
}
}
}
printf("-1");
}