QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#27529 | #2160. Cardiology | Hakujitsu# | AC ✓ | 43ms | 3852kb | C++ | 978b | 2022-04-09 18:10:25 | 2022-04-29 06:23:05 |
Judging History
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'