//牛吃fafa //贪心,按照t/d排序 #include <bits/stdc++.h> using namespace std; typedef long long ll; struct cow { ll ti,d; ll flo,sum_t;//flo是数到每头牛破坏花的总和,sum_t是从第一头到当前牛所耗的全部时间 }t[100005]; bool cmp(cow a,cow b) { return a.ti*b.d<b.ti*a.d;//排序 } int main() { int i,n; cin>>n; for(i=1;i<=n;i++) cin>>t[i].ti>>t[i].d; sort(t+1,t+n+1,cmp); t[1].flo=0;//注意雷区,第一头牛没破坏花 t[1].sum_t=2*t[1].ti; for(i=2;i<=n;i++) { t[i].sum_t=t[i-1].sum_t+2*t[i].ti;//更新所用时间 t[i].flo=t[i-1].flo+t[i].d*t[i-1].sum_t;//更新当前牛破坏花的和 } cout<<t[n].flo<<endl;//输出 }