87分求助
查看原帖
87分求助
1179906
hhy8399楼主2024/4/9 21:40

87分求助

#include<bits/stdc++.h>
using namespace std;

struct nanong
{
	int dj;//单价
	int sl;//数量
}a[100001];

bool cmp(struct nanong x,struct nanong y)
{
	if(x.dj > y.dj)return 0;
	else return 1;
}

int main()
{
	int n,m,cnt = 0,sum = 0;
	cin >> n >> m;
	for(int i = 1;i <= m;i++)
	{
		cin >> a[i].dj >> a[i].sl;
	}
	sort(a + 1,a + m + 1,cmp);
	int i = 1;
	do{
		cnt += a[i].sl;
		sum += a[i].sl * a[i].dj;
		i ++;
	}while(cnt < n);
	cnt -= a[i - 1].sl;
	sum -= a[i - 1].sl * a[i - 1].dj;
	sum += (n - cnt) * a[i - 1].dj;
	cout << sum << "\n";
	return 0;
}
2024/4/9 21:40
加载中...