#include <bits/stdc++.h>
using namespace std;
struct node{
int a,b,s;
}h[100100];
int n,ans;
bool cmp(node o,node w){
return o.b>w.b;
}
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>h[i].a>>h[i].s;
h[i].b=h[i].a+h[i].s*(n-1);
}
sort(h+1,h+n+1,cmp);
for(int i=1;i<=n;i++){
ans=max(ans,h[i].a);
h[i+1].a+=h[i+1].s*i;
}
cout<<ans;
return 0;
}
贪心思路:先把最后升得最高的射爆
问:哪错了???