- 题解
关于 CSP J 2022 T2
- 2022-10-29 16:33:27 @
如题,二分写挂了
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n, m, e, d, x;
ll Chtholly, Nephren, Ithea;
ll func(ll l, ll r) {
ll mid = (l + r + 1ll) / 2ll, mid2 = (l + r) / 2ll;
while (l < r) {
mid = (l + r + 1ll) / 2ll;
mid2 = mid - 1;
if (mid2 * (m - mid2) == n) return mid2;
mid2 = mid + 1;
if (mid2 * (m - mid2) == n) return mid2;
if (mid * (m - mid) == n) return mid;
else if (mid * (m - mid) < n) l = mid + 1ll;
else if (mid * (m - mid) > n) r = mid - 1ll;
// printf("%lld %lld %lld %lld %lld %lld\n",mid,l,r,m-mid,mid*(m-mid),n);
}
return -1ll;
}
int main() {
// freopen ("decode.in", "r", stdin);
// freopen ("decode.out", "w", stdout);
int T;
scanf ("%d", &T);
while (T--) {
scanf ("%lld%lld%lld", &n, &e, &d);
m = n - e * d + 2ll;
bool flg = false;
// for (ll i = 1ll; i <= (m / 2ll); ++i) {
// if (i * (m - i) == n) {
// printf ("%d %d\n", i, m - i);
// flg = true;
// break;
// }
// }
x = func(1ll, m / 2ll);
if (x == -1ll) printf ("NO\n");
else printf ("%lld %lld\n", x, m - x);
}
}
//ORZ ZYS
//ORZ STR
//ORZ FJH
//ORZ HCY
//ORZ CM
//jin mi huo xing wei da shang!!!!!!!!!
//a quick brown fox jumps over the lazy dog.
qwq 谁帮我看下
0 条评论
目前还没有评论...