--正文
贪心
排序好慢慢找就好
#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 ",total); } return 0; }