--正文
贪心
排序好慢慢找就好
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; typedef long long LL;int a[20001],b[20001]; int n,m,x; int main(){while (scanf("%d %d %d",&n,&m,&x) != EOF){int i,j,k;for (i=1;i<=n;i++){scanf("%d",&a[i]);}for (i=1;i<=m;i++){scanf("%d",&b[i]);}sort(a+1,a+1+n); sort(b+1,b+1+m);int nowa = 1,nowb = 1,total = 0;while (nowa <= n && nowb <= m){int res = a[nowa] - b[nowb];if (res<0) res = -res;if (res<=x){nowa ++; nowb ++; total ++; continue;} else {if (a[nowa] > b[nowb]){nowb++;}else {nowa++;}}}printf("%d\n",total);}return 0; }