5 条题解

  • 2
    @ 2025-12-27 18:04:23
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int sum,n;
    	cin>>sum>>n;
    	int p[n],num[n];
    	for(int i=0;i<n;i++)
    	{
    		cin>>p[i]>>num[i];
    	}
    	int s=0;
    	while(1)
    	{
    		int minn=1e9,ind=0;
    		for(int i=0;i<n;i++)
    		{
    			if(num[i]>0)
    			{
    				if(p[i]<minn)
    				{
    					minn=p[i];
    					ind=i;
    				}
    			}
    		}
    		if(sum>num[ind])
    		{
    			sum-=num[ind];
    			s+=num[ind]*p[ind];
    			num[ind]=0;
    		}
    		if(sum<=num[ind])
    		{
    			s+=sum*p[ind];
    			break;
    		}
    	}
    	cout<<s<<endl;
    	return 0;
    } 
    
    

    信息

    ID
    553
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    202
    已通过
    33
    上传者