QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#386454#2160. CardiologyDoqeAC ✓14ms16464kbC++14666b2024-04-11 16:56:322024-04-11 16:56:33

Judging History

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

  • [2024-04-11 16:56:33]
  • 评测
  • 测评结果:AC
  • 用时:14ms
  • 内存:16464kb
  • [2024-04-11 16:56:32]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int r,c,nx[N],D[N],dp[N];
inline int dis(int X,int Y){return max(X+1,r-X)+max(Y+1,c-Y);}
int main()
{
	cin>>r>>c;
	int mn=1e9,P=1,_I,_J,S=0;
	long long Z=0;
	for(int p=0;p<c;++p,Z+=r)
	{
		int I=Z/(c-1);
		int J=(Z+I)%c;
		if(I&&!J)continue;
		int w=dis(I,J);
		if(mn>w)mn=w,P=p,_I=I,_J=J;
	}
	for(int i=0;i<r;++i)nx[i]=(1ll*P*r+i)/c,D[nx[i]]+=i!=nx[i];
	queue<int>Q;for(int i=0;i<r;++i)if(!D[i])Q.push(i);
	while(!Q.empty())
	{
		int u=Q.front();Q.pop();S=max(S,dp[u]);
		int v=nx[u];if(!--D[v])dp[v]=dp[u]+1,Q.push(v);
	}
	cout<<P+1<<" "<<_I+1<<" "<<_J+1<<" "<<S+1<<endl;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 7ms
memory: 7760kb

input:

6666 966364

output:

473832 3269 483163 2

result:

ok single line: '473832 3269 483163 2'

Test #2:

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

input:

36 906986

output:

12598 1 453493 2

result:

ok single line: '12598 1 453493 2'

Test #3:

score: 0
Accepted
time: 8ms
memory: 14444kb

input:

704877 297616

output:

148803 352426 140980 3

result:

ok single line: '148803 352426 140980 3'

Test #4:

score: 0
Accepted
time: 14ms
memory: 14524kb

input:

1000000 1000000

output:

500000 500000 500000 2

result:

ok single line: '500000 500000 500000 2'

Test #5:

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

input:

2 2

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #6:

score: 0
Accepted
time: 6ms
memory: 16464kb

input:

1000000 2

output:

1 1 1 21

result:

ok single line: '1 1 1 21'

Test #7:

score: 0
Accepted
time: 7ms
memory: 7608kb

input:

2 1000000

output:

250001 1 500001 2

result:

ok single line: '250001 1 500001 2'

Test #8:

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

input:

985391 511611

output:

255806 492696 255806 3

result:

ok single line: '255806 492696 255806 3'

Test #9:

score: 0
Accepted
time: 8ms
memory: 11380kb

input:

435766 614914

output:

304739 215957 307481 2

result:

ok single line: '304739 215957 307481 2'

Test #10:

score: 0
Accepted
time: 4ms
memory: 15636kb

input:

818196 58

output:

29 401921 49 5

result:

ok single line: '29 401921 49 5'

Test #11:

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

input:

401765 19

output:

10 200883 10 6

result:

ok single line: '10 200883 10 6'

Test #12:

score: 0
Accepted
time: 6ms
memory: 7724kb

input:

95 912669

output:

456335 48 456335 2

result:

ok single line: '456335 48 456335 2'

Test #13:

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

input:

81 429950

output:

2655 1 214975 2

result:

ok single line: '2655 1 214975 2'

Test #14:

score: 0
Accepted
time: 14ms
memory: 14624kb

input:

999956 999959

output:

249991 249990 499979 3

result:

ok single line: '249991 249990 499979 3'

Test #15:

score: 0
Accepted
time: 14ms
memory: 14924kb

input:

999935 999946

output:

449976 449971 499976 3

result:

ok single line: '449976 449971 499976 3'

Test #16:

score: 0
Accepted
time: 9ms
memory: 14744kb

input:

999951 999952

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #17:

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

input:

106352 224337

output:

112111 53149 112993 2

result:

ok single line: '112111 53149 112993 2'

Test #18:

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

input:

651870 786333

output:

392936 325744 393775 2

result:

ok single line: '392936 325744 393775 2'

Test #19:

score: 0
Accepted
time: 13ms
memory: 12964kb

input:

838522 972888

output:

486249 419093 486853 2

result:

ok single line: '486249 419093 486853 2'