#include #include #include #include using namespace std; int main() { int num_cases; cin >> num_cases; // uint64_t result = 0; for (int i = 0; i < num_cases; i++) { int my_floor, lift_floor, my_floortime, lift_floortime; cin >> my_floor >> lift_floor >> my_floortime >> lift_floortime; // below the lift if (my_floor > lift_floor) { // if I am faster than lift if (my_floortime < lift_floortime) { cout << my_floor * my_floortime << "\n"; } else { int combined_travel = (my_floor - lift_floor) * my_floortime + lift_floortime * lift_floor; int lift_travel = ( lift_floor + 2*(my_floor - lift_floor) ) * lift_floortime; cout << min(combined_travel, lift_travel) << "\n"; } } // above the lift => only call the lift else { if (my_floor * my_floortime < lift_floor * lift_floortime) { cout << my_floor * my_floortime << "\n"; } else { cout << lift_floor * lift_floortime << "\n"; } } } return 0; }