7 条题解

  • -2
    @ 2022-7-17 19:51:07
    using namespace std;
    struct p{
    	int a;
    	string id;
    	int ming;
    }sh[10000];
    int main(){
    	int n,m;
    	cin>>m>>n;
    	for(int i=1;i<=m;i++){
    		cin>>sh[i].id>>sh[i].a;
    	}
    	for(int i=1;i<m;i++){
    		for(int j=m;j>1;j--){
    			if(sh[j].a>sh[j-1].a)swap(sh[j],sh[j-1]);
    		}
    	}
    	int b=sh[1].a;
    	int geshu=1;
    	int mingci=1;
    	sh[1].ming=1;
    	for(int i=2;i<=m;i++){
    		if(sh[i].a==b){
    			geshu++;
    		}
    		else if(sh[i].a!=b||i==m){
    			mingci=mingci+geshu;
    			geshu=1;
    			b=sh[i].a;
    		}sh[i].ming=mingci;
    	}
    	for(int i=1;i<m;i++){
    		if(sh[i].a ==sh[i+1].a ){
    			if(sh[i].id>sh[i+1].id)swap(sh[i],sh[i+1]);
    		}
    	}
    	int f=0;
    	for(int i=1;i<=m;i++){
    		if(sh[i].ming<=n)f++;
    		cout<<sh[i].ming<<":"<<sh[i].id<<endl;
    	}
    	cout<<f;
    	return 0;
    }
    

    这惊人的长度

    信息

    ID
    736
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    603
    已通过
    177
    上传者