C++星级的工人

C++星级的工人_第1张图片
C++星级的工人_第2张图片

//Author:PanDaoxi
#include 
#include  
using namespace std;
int wk[10001],od[10001],wk_num[10001],od_num[10001];
int m,n; //m=工作项数 n=工作人数 
int main(){
	bool flag=false; //开关
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		cin>>od[i];
	} 
	for(int j=1;j<=n;j++){
		cin>>wk[j];
	}
	//排序
	sort(od+1,od+m+1); 
	sort(wk+1,wk+n+1);
	int sum=0,cnt=1; //sum=总开销
	for(int i=1;i<=n;i++){
		if(wk[i]>=od[cnt]){
			sum+=wk[i];
			od_num[cnt]=od[cnt];
			wk_num[cnt]=wk[cnt];
			cnt++;
		}
		if(cnt==m+1){
			flag=true;
			break;
		}
	} 
	if(!flag) cout<<"failed"<<endl;
	else{
		cout<<sum<<endl;
		for(int i=1;i<cnt;i++){
			cout<<od_num[i]<<" "<<wk_num[i]<<endl;
		}
	}
	return 0;
} 

你可能感兴趣的:(C++,c++,开发语言,后端)