#include<bits/stdc++.h>
using namespace std;
int num[601000],p[6010];
int main()
{
int a,maxn=-100,n,m,k,count=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&k);
maxn=max(k,maxn);
num[k]=1;
}
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
scanf("%d",&k);
p[i]=k;
num[k]=2;
}
scanf("%d",&a);
for(int i=1;i<=m;i++)
{
while(1)
{
p[i]+=a;
if(p[i]>maxn) break;
if(num[p[i]]==1)
{
count++;
num[p[i]]=2;
}
}
}
if(count==0) cout<<"Great Set!";
else cout<<count;
return 0;
}
评测记录
确实找不到有啥能越界的原因