QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#27529#2160. CardiologyHakujitsu#AC ✓43ms3852kbC++978b2022-04-09 18:10:252022-04-29 06:23:05

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-04-29 06:23:05]
  • 评测
  • 测评结果:AC
  • 用时:43ms
  • 内存:3852kb
  • [2022-04-09 18:10:25]
  • 提交

answer

#pragma GCC optimize(3)
#include<bits/stdc++.h>
#define MAXN 1000005
#define INF 1000000000
#define F first
#define S second
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
int r,c;
int p,i,j,s;
int calc_dist(int x,int y)
{
	int xdis,ydis;
	if(x<=(r+1)/2) xdis=(r+1)/2-x; else xdis=x-(r+2)/2;
	if(y<=(c+1)/2) ydis=(c+1)/2-y; else ydis=y-(c+2)/2;
	return xdis+ydis;
}
void check(int y)
{
	int lb=1,rb=r;
	int cnt=0;
	while(lb<rb)
	{
		ll lid=1LL*(y-1)*r+lb,rid=1LL*(y-1)*r+rb;
		int nlb,nrb;
		nlb=max(1LL*lb,(lid-1)/c+1); nrb=min(1LL*rb,(rid-1)/c+1); cnt++;
		if(nlb==lb&&nrb==rb)
		{
			if(lb!=rb) return;
			else break;
		}
		lb=nlb; rb=nrb;
	}
	int x=lb,save=y;
	y=(1LL*(y-1)*r+lb)-1LL*(x-1)*c;
	if(i==0||calc_dist(x,y)<calc_dist(i,j))
	{
		p=save;
		i=x;
		j=y;
		s=cnt+1;
	}
}
int main()
{
	scanf("%d%d",&r,&c);
	i=0; j=0;
	for(int y=1;y<=c;y++) check(y);
	printf("%d %d %d %d\n",p,i,j,s);
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 22ms
memory: 3844kb

input:

6666 966364

output:

473832 3269 483163 2

result:

ok single line: '473832 3269 483163 2'

Test #2:

score: 0
Accepted
time: 24ms
memory: 3724kb

input:

36 906986

output:

12598 1 453493 2

result:

ok single line: '12598 1 453493 2'

Test #3:

score: 0
Accepted
time: 11ms
memory: 3728kb

input:

704877 297616

output:

148803 352426 140980 3

result:

ok single line: '148803 352426 140980 3'

Test #4:

score: 0
Accepted
time: 26ms
memory: 3636kb

input:

1000000 1000000

output:

500000 500000 500000 2

result:

ok single line: '500000 500000 500000 2'

Test #5:

score: 0
Accepted
time: 3ms
memory: 3804kb

input:

2 2

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3756kb

input:

1000000 2

output:

1 1 1 21

result:

ok single line: '1 1 1 21'

Test #7:

score: 0
Accepted
time: 24ms
memory: 3760kb

input:

2 1000000

output:

250001 1 500001 2

result:

ok single line: '250001 1 500001 2'

Test #8:

score: 0
Accepted
time: 19ms
memory: 3780kb

input:

985391 511611

output:

255806 492696 255806 3

result:

ok single line: '255806 492696 255806 3'

Test #9:

score: 0
Accepted
time: 20ms
memory: 3776kb

input:

435766 614914

output:

304739 215957 307481 2

result:

ok single line: '304739 215957 307481 2'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3792kb

input:

818196 58

output:

29 401921 49 5

result:

ok single line: '29 401921 49 5'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

401765 19

output:

10 200883 10 6

result:

ok single line: '10 200883 10 6'

Test #12:

score: 0
Accepted
time: 24ms
memory: 3752kb

input:

95 912669

output:

456335 48 456335 2

result:

ok single line: '456335 48 456335 2'

Test #13:

score: 0
Accepted
time: 12ms
memory: 3784kb

input:

81 429950

output:

2655 1 214975 2

result:

ok single line: '2655 1 214975 2'

Test #14:

score: 0
Accepted
time: 39ms
memory: 3792kb

input:

999956 999959

output:

249991 249990 499979 3

result:

ok single line: '249991 249990 499979 3'

Test #15:

score: 0
Accepted
time: 43ms
memory: 3772kb

input:

999935 999946

output:

449976 449971 499976 3

result:

ok single line: '449976 449971 499976 3'

Test #16:

score: 0
Accepted
time: 39ms
memory: 3852kb

input:

999951 999952

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #17:

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

input:

106352 224337

output:

112111 53149 112993 2

result:

ok single line: '112111 53149 112993 2'

Test #18:

score: 0
Accepted
time: 32ms
memory: 3728kb

input:

651870 786333

output:

392936 325744 393775 2

result:

ok single line: '392936 325744 393775 2'

Test #19:

score: 0
Accepted
time: 41ms
memory: 3844kb

input:

838522 972888

output:

486249 419093 486853 2

result:

ok single line: '486249 419093 486853 2'