voidsolve(vector<vector<int>>& pairs){ auto cmp = [](vector<int>& lhs, vector<int>& rhs) { if (lhs[0] == rhs[0]) { return lhs[1] > rhs[1]; } return lhs[0] < rhs[0]; }; sort(pairs.begin(), pairs.end(), cmp); int pre = -1, r = 0; for (int i = 0; i < pairs.size(); i++) { auto p = pairs[i]; if (p[1] <= r) { out << p[2] + 1 << " " << pre + 1 << endl; return; } else { pre = p[2]; r = p[1]; } } out << -1 << " " << -1 << endl; }
intmain(){ int n; in >> n; vector<vector<int>> pairs; for (int i = 0; i < n; i++) { int l, r; in >> l >> r; pairs.push_back({l, r, i}); } solve(pairs); return0; }