QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#297070 | #2727. Gradient Descent | Camillus# | 0 | 1ms | 3672kb | C++20 | 1.8kb | 2024-01-03 22:15:14 | 2024-07-04 03:16:39 |
answer
/// @author Camillus <3
#ifndef LOCAL
#define debug(...) 42
#endif
#include "bits/stdc++.h"
using namespace std;
int query(int x, int y) {
cout << "? " << x << " " << y << endl;
int result;
cin >> result;
return result;
}
int answer(int s) {
cout << "! " << s << endl;
exit(0);
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int R, C, L;
cin >> R >> C >> L;
int cnt = (query(0, 0) + query(R, C)) / (R + C);
int x, y;
{
int L = query(0, 0);
int R = query(R, 0);
auto get1 = [&](int k) -> int {
int cur = query(k, 0);
int a = (R + cur - k * cnt) / 2;
int b = (L + cur - k * cnt) / 2;
return a - b;
};
int l = 0, r = R;
while (r - l > 1) {
int m = (l + r) / 2;
if (get1(m) < 0) {
l = m;
} else {
r = m;
}
}
if (query(l, 0) < query(r, 0)) {
x = l;
} else {
x = r;
}
}
{
int L = query(0, 0);
int R = query(0, C);
auto get1 = [&](int k) -> int {
int cur = query(0, k);
int a = (R + cur - k * cnt) / 2;
int b = (L + cur - k * cnt) / 2;
return a - b;
};
int l = 0, r = C;
while (r - l > 1) {
int m = (l + r) / 2;
if (get1(m) < 0) {
l = m;
} else {
r = m;
}
}
if (query(0, l) < query(0, r)) {
y = l;
} else {
y = r;
}
}
answer(query(x, y));
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3672kb
input:
1 90 90 7500 1600 7500 7500 382300 194800 101000 54100 30700 19000 13100 10200 8700 8000 7600 7400 7500 7400 7500 1700 3000 800 500 1100 1400 1500 1600 1600 1700 1500
output:
? 0 0 ? 1 90 ? 0 0 ? 0 0 ? 3750 0 ? 1875 0 ? 937 0 ? 468 0 ? 234 0 ? 117 0 ? 58 0 ? 29 0 ? 14 0 ? 7 0 ? 3 0 ? 1 0 ? 0 0 ? 1 0 ? 0 0 ? 0 90 ? 0 45 ? 0 67 ? 0 78 ? 0 84 ? 0 87 ? 0 88 ? 0 89 ? 0 89 ? 0 90 ? 1 89 ! 1500
result:
wrong answer Wrong Answer: expected 0, found 1500
Subtask #2:
score: 0
Wrong Answer
Test #6:
score: 0
Wrong Answer
time: 1ms
memory: 3628kb
input:
1 10000000 90 815667200 184332900 815667200 815667200 41599027000 21207347000 11011507000 5913587000 3364627000 2090147000 1452907000 1134287000 974977000 895322000 855494500 835580700 825623800 820645400
output:
? 0 0 ? 1 10000000 ? 0 0 ? 0 0 ? 407833600 0 ? 203916800 0 ? 101958400 0 ? 50979200 0 ? 25489600 0 ? 12744800 0 ? 6372400 0 ? 3186200 0 ? 1593100 0 ? 796550 0 ? 398275 0 ? 199137 0 ? 99568 0 ? 49784 0 ? 24892 0 ? 12446 0 ? 6223 0 ? 3111 0 ? 1555 0 ? 777 0 ? 388 0 ? 194 0 ? 97 0 ? 48 0 ? 24 0 ? 12 0 ...
result:
wrong answer Wrong Answer: expected 0, found 2147483647
Subtask #3:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 1ms
memory: 3552kb
input:
10000000 10000000 170 951301000 1048699000 951301000 951301000 48245083200 24462558200 12571295700 6625664400 3652848800 2166441000 1423237100 1051635100 865834100 858400600 904850800 928075900 939688500 945494800 948397900 949849500 950575300 950938200 951119600 951210300 951255700 951278400 951289...
output:
? 0 0 ? 10000000 10000000 ? 0 0 ? 0 0 ? 475650500 0 ? 237825250 0 ? 118912625 0 ? 59456312 0 ? 29728156 0 ? 14864078 0 ? 7432039 0 ? 3716019 0 ? 1858009 0 ? 929004 0 ? 464502 0 ? 232251 0 ? 116125 0 ? 58062 0 ? 29031 0 ? 14515 0 ? 7257 0 ? 3628 0 ? 1814 0 ? 907 0 ? 453 0 ? 226 0 ? 113 0 ? 56 0 ? 28 ...
result:
wrong answer Wrong Answer: expected 0, found 2147483647
Subtask #4:
score: 0
Wrong Answer
Test #16:
score: 0
Wrong Answer
time: 1ms
memory: 3580kb
input:
10000000 10000000 100 951301000 1048699000 951301000 951301000 48245083200 24462558200 12571295700 6625664400 3652848800 2166441000 1423237100 1051635100 865834100 858400600 904850800 928075900 939688500 945494800 948397900 949849500 950575300 950938200 951119600 951210300 951255700 951278400 951289...
output:
? 0 0 ? 10000000 10000000 ? 0 0 ? 0 0 ? 475650500 0 ? 237825250 0 ? 118912625 0 ? 59456312 0 ? 29728156 0 ? 14864078 0 ? 7432039 0 ? 3716019 0 ? 1858009 0 ? 929004 0 ? 464502 0 ? 232251 0 ? 116125 0 ? 58062 0 ? 29031 0 ? 14515 0 ? 7257 0 ? 3628 0 ? 1814 0 ? 907 0 ? 453 0 ? 226 0 ? 113 0 ? 56 0 ? 28 ...
result:
wrong answer Wrong Answer: expected 0, found 2147483647
Subtask #5:
score: 0
Wrong Answer
Test #21:
score: 0
Wrong Answer
time: 0ms
memory: 3628kb
input:
10000000 10000000 75 951301000 1048699000 951301000 951301000 48245083200 24462558200 12571295700 6625664400 3652848800 2166441000 1423237100 1051635100 865834100 858400600 904850800 928075900 939688500 945494800 948397900 949849500 950575300 950938200 951119600 951210300 951255700 951278400 9512897...
output:
? 0 0 ? 10000000 10000000 ? 0 0 ? 0 0 ? 475650500 0 ? 237825250 0 ? 118912625 0 ? 59456312 0 ? 29728156 0 ? 14864078 0 ? 7432039 0 ? 3716019 0 ? 1858009 0 ? 929004 0 ? 464502 0 ? 232251 0 ? 116125 0 ? 58062 0 ? 29031 0 ? 14515 0 ? 7257 0 ? 3628 0 ? 1814 0 ? 907 0 ? 453 0 ? 226 0 ? 113 0 ? 56 0 ? 28 ...
result:
wrong answer Wrong Answer: expected 0, found 2147483647