AcWing 3658. 奇怪的餐厅
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int N = 1e2+10;
int t,n,m,k,l,r,op,x,y;
double sum;
struct nd{
double k;
int v;
bool operator<(const nd&n1)const{
return k<n1.k;
}
};
nd f[N];
void solve(){
while(cin>>n>>t){
sum = 0;
for(int i = 1;i<=n;i++){
cin>>f[i].k>>f[i].v;
}
sort(f+1,f+1+n);
for(int i = 1;i<=n;i++){
if(t>=f[i].v){
sum += f[i].v * f[i].k;
t-= f[i].v;
}else{
sum += t * f[i].k;
t = 0;
break;
}
}
if(t)sum += t;
cout<<(int)sum<<"\n";
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}