小塔所在公司有n名员工,这n名员工的初始位置在a[i],办公室的位置在p。
有k个通行证,这k个通行证的位置在b[i],每个位置有且只有一个通行证。
一条直线上,对于a,b两人想去c,d两地,两个人各去一地,假设a位置小于b,c位置小于d。显然a去d,b去c的最长时间肯定要大于a去c,b去d的最长时间,那么完美可以将人的位置和通行证位置排序,对于i+n-1<=k,枚举每一个位置在循环计算最长时间即可
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 5005
int n, k;
int a[N];