UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#164572#2907. moonlouhao08810018ms1192kbC++111.2kb2022-11-05 09:04:182022-11-05 13:00:52

answer

#include<bits/stdc++.h>
using namespace std;
#define pi pair<int,int>
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define ls (rt<<1)
#define rs (rt<<1|1)
#define mid ((l+r)>>1)
#define lowbit(x) (x&-x)
#define int long long
const int maxn=2e5+5,M=2e5+5,mod=998244353;
inline int read(){
	char ch=getchar();bool f=0;int x=0;
	for(;!isdigit(ch);ch=getchar())if(ch=='-')f=1;
	for(;isdigit(ch);ch=getchar())x=(x<<1)+(x<<3)+(ch^48);
	if(f==1){x=-x;}return x;
}
void print(int x){
    static int a[55];int top=0;
    if(x<0) putchar('-'),x=-x;
    do{a[top++]=x%10,x/=10;}while(x);
    while(top) putchar(a[--top]+48);
}
int n,m,a[maxn],b[maxn],x,y,xx,yy;
signed main(){
	//freopen("1.in","r",stdin);
	//freopen(".out","w",stdout);
	n=read();m=read();
	for(int i=1;i<=n;i++)a[i]=read(),b[i]=read();
	for(int i=1;i<=m;i++){
		x=read(),y=read(),xx=read(),yy=read();
		int dis=abs(xx-x)+abs(yy-y),mn=1e18;
		for(int j=1;j<=n;j++){
			int d=((a[j]-xx)*(a[j]-xx)+(b[j]-yy)*(b[j]-yy));
			mn=min(mn,d);
		}
		int z=sqrt(mn);
		if(z*z==mn)z--;
		z--;
		//cout<<z<<" "<<mn<<endl;
		if(z<dis){puts("-1");}
		else cout<<z-dis<<endl; 
	}
 	return 0;
}



详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 4ms
memory: 1188kb

input:

1000 1000
0 212333
0 283947
0 419206
0 700211
0 704012
0 603222
0 346328
0 779005
0 124972
0 861984
...

output:

-1
-1
605
732
334
271
-1
-1
-1
-1
195
-1
606
-1
-1
-1
-1
166
-1
276
148
-1
278
-1
-1
113
-1
-1
-1
20...

result:

ok 1000 lines

Test #2:

score: 10
Accepted
time: 1ms
memory: 1188kb

input:

1000 1000
0 662423
0 606008
0 791196
0 242205
0 217045
0 457311
0 717943
0 858612
0 73523
0 101532
0...

output:

316
-1
-1
458
783
-1
632
-1
1163
164
-1
-1
-1
617
0
-1
-1
-1
47
399
210
481
-1
220
544
-1
64
-1
-1
2...

result:

ok 1000 lines

Test #3:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

1000 1000
0 828144
0 276070
0 984925
0 229830
0 40474
0 96831
0 146398
0 272704
0 264943
0 147051
0 ...

output:

21
-1
686
-1
-1
-1
92
-1
484
-1
-1
84
-1
-1
-1
-1
1034
-1
-1
-1
-1
-1
309
-1
-1
-1
-1
-1
-1
-1
-1
-1...

result:

ok 1000 lines

Test #4:

score: 10
Accepted
time: 0ms
memory: 1192kb

input:

1000 1000
0 341547
0 606717
0 79249
0 603397
0 777363
0 956846
0 965646
0 249422
0 583457
0 873475
0...

output:

-1
1361
767
-1
-1
-1
-1
555
761
575
699
-1
-1
-1
-1
-1
565
-1
579
111
572
-1
1121
-1
-1
780
422
230
...

result:

ok 1000 lines

Test #5:

score: 10
Accepted
time: 0ms
memory: 1192kb

input:

1000 1000
0 855912
0 760201
0 858056
0 836272
0 788744
0 994911
0 142988
0 467354
0 98575
0 635616
0...

output:

462
-1
113
-1
307
240
1498
953
-1
261
-1
288
1626
-1
75
38
-1
3521
737
121
-1
-1
-1
-1
1763
-1
-1
-1...

result:

ok 1000 lines

Test #6:

score: 10
Accepted
time: 5ms
memory: 1192kb

input:

1000 1000
381669 925292
514002 408344
412172 775834
879004 724399
81283 599326
982979 936347
513029 ...

output:

5267
32709
3218
19345
15684
5210
916
2554
4505
5362
800
464
2452
9433
747
7948
24534
10413
3406
7039...

result:

ok 1000 lines

Test #7:

score: 10
Accepted
time: 2ms
memory: 1188kb

input:

1000 1000
543803 844263
856944 503751
884464 629593
642723 534256
727730 875569
155824 514857
551581...

output:

393
31199
681
2712
19168
1316
21359
7302
26287
28057
917
571
3807
16781
21121
2338
12342
1196
3933
1...

result:

ok 1000 lines

Test #8:

score: 10
Accepted
time: 3ms
memory: 1188kb

input:

1000 1000
610538 921200
825059 254693
742633 941338
511931 636739
395274 972716
695703 722727
518638...

output:

7661
24565
5018
10129
93
6148
24921
9380
915
8156
1676
2582
1836
7197
20354
879
1258
4671
9851
1396
...

result:

ok 1000 lines

Test #9:

score: 10
Accepted
time: 3ms
memory: 1192kb

input:

1000 1000
510034 707043
347191 923962
910156 293115
759134 788880
815658 926241
889893 191765
915064...

output:

9021
20111
6902
5606
4996
18399
17267
5366
3080
16633
14831
81077
146
7110
50517
5031
10417
23747
-1...

result:

ok 1000 lines

Test #10:

score: 10
Accepted
time: 0ms
memory: 1188kb

input:

1000 1000
791074 773488
651651 784700
963407 913302
652959 857044
331287 754286
348852 470019
935094...

output:

8662
24748
7736
55328
11791
2676
13210
5679
2995
7172
45289
1839
4255
156
7512
1189
4306
1604
10717
...

result:

ok 1000 lines