Submission #67005302
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
inline int read(){
char ch=getchar(); while(!isdigit(ch) && ch!='-') ch=getchar();
int x=0,ff=1; if(ch=='-') ff=-1,ch=getchar();
while(isdigit(ch)) x=(x<<3) + (x<<1) + (ch^48),ch=getchar();
return x*ff;
}
const int N=6e5+5;
int n,m;
LL a[N],b[N]; int s1[N],s2[N]; int stt[20][N];
inline int qmn(int l,int r) {int lm=__lg(r-l+1); return min(stt[lm][l],stt[lm][r-(1<<lm)+1]);}
bool chk(int kd){
for(int i=1,j=0,k=0;i<=2*n;i++) {
while(j<2*n && b[j+1]<a[i]) ++j;
while(k<2*n && b[k+1]<=a[i]+kd) ++k;
s1[i]=j; s2[i]=k;
}
for(int i=1;i<=2*n;i++) stt[0][i]=s2[i]-i;
for(int i=1;(1<<i)<=2*n;i++)
for(int j=1;j+(1<<i)-1<=2*n;j++) stt[i][j]=min(stt[i-1][j],stt[i-1][j+(1<<(i-1))]);
for(int i=1,j=1;i<=n;i++){
while(j+1<=2*n && a[j+1]+kd<a[i]+m) ++j;
if(qmn(i,j)<s1[i]-i+1) return 0;
}
return 1;
}
void vmain(){
n=read(); m=read();
for(int i=1;i<=n;i++) a[i]=m-read();
for(int i=1;i<=n;i++) b[i]=read();
sort(a+1,a+n+1); sort(b+1,b+n+1);
for(int i=1;i<=n;i++) a[i+n]=a[i]+m,b[i+n]=b[i]+m;
int L=-1,R=m-1;
while(L+1<R){
int mid=(L+R)/2;
if(chk(mid)) R=mid;
else L=mid;
}
printf("%d\n",R);
}
int main(){
int T=read(); while(T--) vmain();
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Match, Mod, Minimize |
| User | llloserqz |
| Language | C++ 20 (gcc 12.2) |
| Score | 700 |
| Code Size | 1289 Byte |
| Status | AC |
| Exec Time | 659 ms |
| Memory | 60684 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 700 / 700 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt |
| All | 01-01.txt, 01-02.txt, 01-03.txt, 01-05.txt, 01-06.txt, 01-07.txt, 02-01.txt, 02-02.txt, 02-03.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 04-01.txt, 04-02.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, sample-01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 220 ms | 3632 KiB |
| 01-02.txt | AC | 208 ms | 3648 KiB |
| 01-03.txt | AC | 217 ms | 3768 KiB |
| 01-05.txt | AC | 261 ms | 3716 KiB |
| 01-06.txt | AC | 351 ms | 3908 KiB |
| 01-07.txt | AC | 480 ms | 8624 KiB |
| 02-01.txt | AC | 608 ms | 60500 KiB |
| 02-02.txt | AC | 618 ms | 60564 KiB |
| 02-03.txt | AC | 618 ms | 60640 KiB |
| 03-01.txt | AC | 489 ms | 60504 KiB |
| 03-02.txt | AC | 500 ms | 60472 KiB |
| 03-03.txt | AC | 495 ms | 60684 KiB |
| 03-04.txt | AC | 659 ms | 60456 KiB |
| 03-05.txt | AC | 645 ms | 60620 KiB |
| 04-01.txt | AC | 299 ms | 60624 KiB |
| 04-02.txt | AC | 13 ms | 13172 KiB |
| 05-01.txt | AC | 310 ms | 60516 KiB |
| 05-02.txt | AC | 309 ms | 60564 KiB |
| 05-03.txt | AC | 317 ms | 60504 KiB |
| 05-04.txt | AC | 305 ms | 60504 KiB |
| 05-05.txt | AC | 348 ms | 60624 KiB |
| 05-06.txt | AC | 349 ms | 60564 KiB |
| sample-01.txt | AC | 1 ms | 3668 KiB |