Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int main() {
- int n;
- cin >> n;
- for(int i = 0; i < n; i++) {
- long long x, y, a, b;
- cin >> x >> y >> a >> b;
- long long l = -1, r = 1e12;
- while(r - l > 1) {
- long long m = (r + l) / 2;
- if((long double)m * m + m - 2 * (long double)(y - x) / (a + b) >= 0.0) r = m;
- else l = m;
- }
- long long curx = (long long)x + (long long) a * r * (r + 1) / 2, cury = (long long)y - (long long) b * r * (r + 1) / 2;
- long long ans = curx;
- for (int j = 1; j < 3; j++) {
- cury += b * r;
- if (cury <= curx) {
- ans = curx;
- }
- curx -= a * r;
- if (cury <= curx) {
- ans = curx;
- }
- r--;
- }
- cout << ans << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement