#include <iostream> #include <vector> #include <cmath> using namespace std; int main() { int x, y; cin >> x >> y; int n; cin >> n; vector<pair<int, int>> sizes(n); for (int i = 0; i < n; i++) { cin >> sizes[i].first >> sizes[i].second; } double original_ratio = static_cast<double>(x) / y; double min_diff = 1e9; int min_area = 1e9; pair<int, int> best_size; for (const auto& size : sizes) { int w = size.first; int h = size.second; double current_ratio = static_cast<double>(w) / h; double diff = fabs(current_ratio - original_ratio); int area = w * h; if (diff < min_diff || (diff == min_diff && area < min_area)) { min_diff = diff; min_area = area; best_size = size; } } cout << best_size.first << " " << best_size.second << endl; return 0; } /************************************************************** Problem: 1347 User: wengsihan Language: C++ Result: Wrong Answer ****************************************************************/