AcWing 5980. 训练士兵
原题链接
简单
作者:
噷梢
,
2025-04-04 16:34:59
· 福建
,
所有人可见
,
阅读 12
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> PII;
const int N=100010;
ll res;
int main(){
int n;
ll s;
cin>>n>>s;
vector<PII> a;
for(int i=1;i<=n;i++){
ll x,c;
cin>>c>>x;
a.push_back({x,c});
res+=c;
}
sort(a.begin(),a.end());
int l;
for(int i=0;i<a.size();i++){
if(res<=s){
l=i;
break;
}
res-=a[i].second;
}
ll r=a[l-1].first;
ll ans=s*r;
for(int i=l;i<n;i++){
ans+=max(0ll,a[i].first-r)*a[i].second;
}
cout<<ans;
return 0;
}