Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int n,k;
- const int maxi=1e6;
- long long a[maxi],b[maxi],cnt[maxi];
- long long p;
- int main()
- {
- cin>>n>>k>>p;
- for (int i=0;i<n;i++)
- scanf("%lld",&a[i]);
- for (int j=0;j<k;j++)
- scanf("%lld",&b[j]);
- long long l=0;
- long long r=1e10;
- sort(a,a+n);
- sort(b,b+k);
- while(l<r-1)
- {
- long long tr=(l+r)/2;
- for (int i=0;i<k;i++)
- cnt[i]=0;
- int tot=0;
- for (int i=0;i<n;i++) {
- int oz=0;
- for (int j=0;j<k;j++)
- if (cnt[j]==0 && abs(b[j]-a[i])+abs(p-b[j])<=tr && !oz)
- {
- cnt[j]=1;
- tot++;
- oz=1;
- }
- }
- if (tot==n) r=tr; else l=tr;
- }
- cout<<r;
- return 0;
- }
- //No Pistolero no fun
- //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement