voidsolve() { ans = 0; for (int i = 1; i <= n; i++) scanf("%d%d", &a[i].x, &a[i].y); sort(a + 1, a + 1 + n, cmp); for (int i = 1; i <= n; i++) { int x = a[i].x, y = a[i].y; if (q.size() < y) q.push(a[i]); elseif (q.size() == y) { if (q.top().x < x) { q.pop(); q.push(a[i]); } } } while (q.size()) { ans += q.top().x; q.pop(); } printf("%d\n", ans); }
intmain() { while (scanf("%d", &n)) solve(); return0; }