/*
ID: 15521201
LANG: C++
TASK: milk
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
freopen("milk.in","r",stdin);
freopen("milk.out","w",stdout);
int n,m,a[5010][2],sum;
cin>>n>>m;
for(int i=0;i<m;i++)
{
cin>>a[i][0]>>a[i][1];
}
for(int i=0;i<m-1;i++)
for(int j=0;j<m-1-i;j++)
if(a[j][0]>a[j+1][0])
{
int t=a[j][0];
a[j][0]=a[j+1][0];
a[j+1][0]=t;
t=a[j][1];
a[j][1]=a[j+1][1];
a[j+1][1]=t;
}
sum=0;
for(int i=0;i<m;i++)
{
if(n-a[i][1]>0)
{
sum+=a[i][0]*a[i][1];
n-=a[i][1];
}
else if(n-a[i][1]<=0)
{
sum+=a[i][0]*n;
break;
}
}
cout<<sum<<endl;
return 0;
ID: 15521201
LANG: C++
TASK: milk
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
freopen("milk.in","r",stdin);
freopen("milk.out","w",stdout);
int n,m,a[5010][2],sum;
cin>>n>>m;
for(int i=0;i<m;i++)
{
cin>>a[i][0]>>a[i][1];
}
for(int i=0;i<m-1;i++)
for(int j=0;j<m-1-i;j++)
if(a[j][0]>a[j+1][0])
{
int t=a[j][0];
a[j][0]=a[j+1][0];
a[j+1][0]=t;
t=a[j][1];
a[j][1]=a[j+1][1];
a[j+1][1]=t;
}
sum=0;
for(int i=0;i<m;i++)
{
if(n-a[i][1]>0)
{
sum+=a[i][0]*a[i][1];
n-=a[i][1];
}
else if(n-a[i][1]<=0)
{
sum+=a[i][0]*n;
break;
}
}
cout<<sum<<endl;
return 0;
}
题目比较简单 就是把按单价来买,那个单价便宜想买哪个,买够数为止