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;
- while (curx >= cury && r) {
- cury += r * b;
- if (curx < cury) break;
- curx -= r * a;
- if (curx < cury) {
- curx += r * a;
- break;
- }
- r--;
- }
- cout << curx << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement