#include #include "optimization.h" #include #include #include using namespace std; typedef pair pii; vector a; vector> ans; vector scaledVector; int main() { int n = readInt(), k = readInt(); a.resize(n); scaledVector.resize(n); for (int i = 0; i < n; ++i) { a[i] = make_pair(readInt(), readInt()); } double l = 0, r = 1e6; for (int kk = 0; kk < 50; ++kk) { double m = (l + r) / 2; for (int i = 0; i < n; ++i) { pii x = a[i]; scaledVector[i] = x.first - m * x.second; } nth_element(scaledVector.begin(), scaledVector.begin() + k, scaledVector.end()); double sum = 0; for (int i = k; i < n; ++i) { sum += scaledVector[i]; } if(sum >= 0) { l = m; } else { r = m; } } ans.resize(n); for (int i = 0; i < n; ++i) { pii x = a[i]; ans[i] = make_pair(x.first - l * x.second, i); } sort(ans.rbegin(), ans.rend()); for (int i = 0; i < k; ++i) { writeInt(ans[i].second + 1, ' '); } writeChar('\n'); return 0; }