题目:
代码:
#include<iostream>
using namespace std;
#include<algorithm>
struct far
{
double pri;
double num;
}sa[10005];
bool cmp(far f1,far f2)
{
return f1.pri<f2.pri;
}
int main()
{
int n;cin>>n;
int m;cin>>m;
for(int i=1;i<=m;i++)
{
cin>>sa[i].pri>>sa[i].num;
}
sort(sa+1,sa+m+1,cmp);
double sum_n=0,sum_p=0;
for(int i=1;i<=m;i++)
{
if(sum_n+sa[i].num<=n)
{
sum_p+=sa[i].num*sa[i].pri;
sum_n+=sa[i].num;
}
else
{
sum_p+=(n-sum_n)*sa[i].pri;
break;
}
}
cout<<sum_p<<endl;
}