- 取石子
答
- 2025-10-3 22:56:10 @
#include<bits/stdc++.h>
using namespace std;
struct yaoshui{
long long m,s;
}a[100010];
bool cmp(yaoshui x,yaoshui y){
return x.m<y.m;
}
int main(){
long long n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].m>>a[i].s;
}
sort(a+1,a+n+1,cmp);
long long s=0;
for(int i=1;i<=n;i++){
if(a[i].s<m){
s+=a[i].m*a[i].s;
m-=a[i].s;
}
else{
if(m==0){
cout<<s;
return 0;
}
else{
cout<<s+m*a[i].m;
return 0;
}
}
}
return 0;
}
1 条评论
-
孙易莘EASON @ 2025-10-3 22:56:28
生命药水
- 1
信息
- ID
- 116
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 56
- 已通过
- 9
- 上传者