#1WA??
查看原帖
#1WA??
787512
qusia_MC楼主2024/1/23 19:50
#include<bits/stdc++.h>
using namespace std;
struct c
{
    double jz=0;
    int id=0,sj=0,zj=0;
};
int main()
{
	long long n,m,n1,n2,n3=1,ans=0;
	cin>>n>>m;
	c a[m+1];int j2=m;
	for(int i=1;i<=m;i++)
	{
		cin>>n1>>n2;
		if(n2!=0&&n1!=0)
		{a[n3].sj=n1;
        a[n3].jz=1.0*n2/n1;
        a[n3].zj=n2;
		    n3++;//时间为0不可能,价值为0采了不如不采
		}
        

	}
	for(int i=1;i<=m;i++)
	{
		for(int j=i+1;j<=m;j++)
		{
			if(a[j].jz<a[j-1].jz)
			{
				swap(a[j].jz,a[j-1].jz);
				swap(a[j].zj,a[j-1].zj);
				swap(a[j].sj,a[j-1].sj);
			}
		}
	}//排序
	while(j2>=1&&n>0)
	{
		ans+=(n/a[j2].sj)*(a[j2].zj);
        //时间足够,一直采到时间不够了为止
		n%=a[j2].sj;
        //花费时间
		j2--;//下一个!
	}
	cout<<ans;
	return 0;
}

玄关!!本蒟蒻真的哭死

2024/1/23 19:50
加载中...