#include #include using namespace std; int main(void) { long long T, pos_me, pos_lift, speed_me, speed_lift, ans; cin >> T; for (int i = 0; i < T; ++i) { cin >> pos_me >> pos_lift >> speed_me >> speed_lift; if (pos_lift >= pos_me) // lift is below me (or at the same level - no difference but accounted for) ans = min(pos_me*speed_me, pos_lift*speed_lift); // lift is above me from now on else if (2*speed_lift <= speed_me) // lift is too fast to use stairs (or equally fast - no difference but accounted for) ans = ((pos_me-pos_lift) + pos_me) * speed_lift; else // lift is faster than me, but not enough to do two trips ans = (pos_me-pos_lift) * speed_lift + pos_lift * speed_me; cout << ans << endl; } return 0; }