QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#183061#2160. Cardiologyquocanh19082010AC ✓21ms3704kbC++14926b2023-09-18 21:54:182023-09-18 21:54:18

Judging History

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

  • [2023-09-18 21:54:18]
  • 评测
  • 测评结果:AC
  • 用时:21ms
  • 内存:3704kb
  • [2023-09-18 21:54:18]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

int main() {
    long long r, c;
    cin >> r >> c; // r - n, c - m
    int md = 1e9;
    int bx, by, bp, bits;
    for (int p = 0; p < c; ++p) {
    	long long left = 0, right = r - 1;
    	int its = 0;
    	while (1) {
    		long long n_left = (p * r + left) / c;
    		long long n_right = (p * r + right) / c;
    		if (n_right - n_left == right - left) break;
    		++its;
    		left = n_left;
    		right = n_right;
		}
		if (left < right) continue;
		int x =  (p * r + left) / c, y = (p * r + left) % c;
		int dx = min(abs(x - r / 2), abs(x - (r - 1) / 2));
		int dy = min(abs(y - c / 2), abs(y - (c - 1) / 2));
		int d = dx + dy;
		if (make_pair(d, p) < make_pair(md, bp)) {
			md = d;
			bx = x;
			by = y;
			bp = p;
			bits = its;
		}
	}
	cout << bp + 1 << " " << bx + 1 << " " << by + 1 << " " << bits + 1 << "\n";
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 15ms
memory: 3632kb

input:

6666 966364

output:

473832 3269 483163 2

result:

ok single line: '473832 3269 483163 2'

Test #2:

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

input:

36 906986

output:

12598 1 453493 2

result:

ok single line: '12598 1 453493 2'

Test #3:

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

input:

704877 297616

output:

148803 352426 140980 3

result:

ok single line: '148803 352426 140980 3'

Test #4:

score: 0
Accepted
time: 15ms
memory: 3704kb

input:

1000000 1000000

output:

500000 500000 500000 2

result:

ok single line: '500000 500000 500000 2'

Test #5:

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

input:

2 2

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #6:

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

input:

1000000 2

output:

1 1 1 21

result:

ok single line: '1 1 1 21'

Test #7:

score: 0
Accepted
time: 15ms
memory: 3544kb

input:

2 1000000

output:

250001 1 500001 2

result:

ok single line: '250001 1 500001 2'

Test #8:

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

input:

985391 511611

output:

255806 492696 255806 3

result:

ok single line: '255806 492696 255806 3'

Test #9:

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

input:

435766 614914

output:

304739 215957 307481 2

result:

ok single line: '304739 215957 307481 2'

Test #10:

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

input:

818196 58

output:

29 401921 49 5

result:

ok single line: '29 401921 49 5'

Test #11:

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

input:

401765 19

output:

10 200883 10 6

result:

ok single line: '10 200883 10 6'

Test #12:

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

input:

95 912669

output:

456335 48 456335 2

result:

ok single line: '456335 48 456335 2'

Test #13:

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

input:

81 429950

output:

2655 1 214975 2

result:

ok single line: '2655 1 214975 2'

Test #14:

score: 0
Accepted
time: 21ms
memory: 3704kb

input:

999956 999959

output:

249991 249990 499979 3

result:

ok single line: '249991 249990 499979 3'

Test #15:

score: 0
Accepted
time: 17ms
memory: 3624kb

input:

999935 999946

output:

449976 449971 499976 3

result:

ok single line: '449976 449971 499976 3'

Test #16:

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

input:

999951 999952

output:

1 1 1 2

result:

ok single line: '1 1 1 2'

Test #17:

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

input:

106352 224337

output:

112111 53149 112993 2

result:

ok single line: '112111 53149 112993 2'

Test #18:

score: 0
Accepted
time: 16ms
memory: 3576kb

input:

651870 786333

output:

392936 325744 393775 2

result:

ok single line: '392936 325744 393775 2'

Test #19:

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

input:

838522 972888

output:

486249 419093 486853 2

result:

ok single line: '486249 419093 486853 2'