大一求助!为什么只有20分?
查看原帖
大一求助!为什么只有20分?
918963
wcq922106840206楼主2023/1/2 14:17
#include<iostream>
using namespace std;
int main(void){
	int n,m;
	cin>>n>>m;
	int a[5000]={0};
	int b[5000]={0};
	int num=m*1.5;
	int count=num;
	int i=0;
	for(i=0;i<n;i++){
		cin>>a[i]>>b[i];
	}
	for(i=0;i<n;i++){
		for(int j=0;j<n-i-1;j++){
			if(b[j]<b[j+1]){
				int tmp1=b[j];
				b[j]=b[j+1];
				b[j+1]=tmp1;
				int tmp2=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp2;
			}
		}
	}
	for(i=0;i<n-1;i++){
		if(b[i]==b[i+1]&&a[i]>a[i+1]){
			int tmp=a[i];
			a[i]=a[i+1];
			a[i+1]=tmp;
		}
	}
	cout<<b[num-1]<<" ";
	for(i=num;i<n;i++){
		if(b[i]==b[num-1]){
			count++;
		}
	}
	cout<<count<<endl;
	for(i=0;i<count;i++){
		cout<<a[i]<<" "<<b[i]<<endl;
	}
	return 0; 
} 
2023/1/2 14:17
加载中...