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
AC × 1
AC × 23
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