1 条题解

  • 0
    @ 2024-3-31 16:44:36

    也许可以优化。。。

    #include<bits/stdc++.h>
    using namespace std;
    struct farmer{
    	int price;
    	int in_all;
    };
    int main(){
    	int m,n;
    	cin>>n>>m;
    	farmer a[m];
    	for(int i=0;i<m;i++){
    		cin>>a[i].price>>a[i].in_all;
    	}
    	for(int i=0;i<m;i++){
    		for(int j=0;j<m-1;j++){
    			if(a[j].price>a[j+1].price){
    				int c=a[j].price;
    				int d=a[j].in_all;
    				a[j].price=a[j+1].price;
    				a[j].in_all=a[j+1].in_all;
    				a[j+1].price=c;
    				a[j+1].in_all=d;
    			}
    		}
    	}
    	int all=0;
    	int priceall=0;
    	int i=0;
    	while(all<=n){
    		all+=a[i].in_all;
    		priceall+=a[i].in_all*a[i].price;
    		i++;
    	}
    	if(all>n){
    		i--;
    		all-=a[i].in_all;
    		priceall-=a[i].in_all*a[i].price;
    		priceall+=(n-all)*a[i].price;
    	}
    	cout<<priceall;
    }
    

    反正能过,其他我不管

    • 1

    信息

    ID
    209
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    28
    已通过
    14
    上传者