QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#499436 | #6727. K-hour Clock | buzhijingdi | WA | 115ms | 3680kb | C++14 | 769b | 2024-07-31 14:12:02 | 2024-07-31 14:12:03 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int x, y, z;
int check(int k)
{
if ((x + (y % k)) % k > z) {
return 1;
}
else if ((x + (y % k)) % k < z) {
return 2;
}
else {
return 0;
}
}
void solve()
{
cin >> x >> y >> z;
if (x + y < z) {
cout << -1 << endl;
return;
}
if (x + y == z) {
cout << x + y + 1 << endl;
return;
}
long long l = x + 1; long long r = x + y + 1;
long long mid;
while (l <= r)
{
mid = (l + r + 1) / 2;
//cout << "mid " << mid << endl;
if (check(mid) == 1) {
l = mid + 1;
}
else if (check(mid) == 2) {
r = mid - 1;
}
else {
break;
}
}
cout << mid << endl;
}
int main()
{
int t;
cin >> t;
while (t--)
{
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3604kb
input:
4 11 18 5 3 49 4 1 9 1 1 3 10
output:
24 48 9 -1
result:
ok 4 cases
Test #2:
score: -100
Wrong Answer
time: 115ms
memory: 3680kb
input:
100000 186826504 580942638 34507146 409013320 825277663 642758065 221040339 32805624 253845963 759538401 529610463 314034771 591738614 223935926 591499221 272890462 257036262 529926724 644722795 540369561 79342760 141738127 915104743 658190166 378771709 735410115 474472687 550207480 676282297 233056...
output:
733261996 409013321 253845964 975114093 591738615 529926725 1105749596 141738128 639709137 1203184138 439164014 1057591501 673441983 847965981 -1 20559782 643543523 1229562136 797923156 295517573 488183711 524483170 913981025 616311202 611749282 -1 1345234741 862956524 1053306920 479679109 -1 410033...
result:
wrong answer Case #2: k <= z (x = 409013320, y = 825277663, z = 642758065, k = 409013321)