Untitled
ducsieumanh1hitlanamguku
plain_text
a year ago
801 B
11
Indexable
#include<bits/stdc++.h>
using namespace std;
int x[100005],y[10005],m,n,k,q[501];
int find(int a,int b) {
int nigger=lower_bound(y+1,y+n+1,b-a)-y;
int t=b-a;
if (nigger>n) return y[n];
if (abs(y[nigger]-t)<abs(y[nigger+1]-t)) return y[nigger];
return y[nigger+1];
}
int main() {
cin>>m>>n>>k;
for (int i=1;i<=m;i++) {
cin>>x[i];
}
for (int i=1;i<=n;i++) {
cin>>y[i];
}
for (int i=1;i<=k;i++) {
cin>>q[i];
}
sort(x+1,x+m+1);
sort(y+1,y+n+1);
for (int i=1;i<=k;i++) {
int minn=INT_MAX;
for (int j=1;j<=m;j++) {
if (minn>abs(q[i]-x[j]-find(x[j],q[i]))) minn=abs(q[i]-x[j]-find(x[j],q[i]));
if (minn==0) break;
}
cout<<minn<<endl;
}
}Editor is loading...
Leave a Comment