50分!!!有没有大佬调一下
查看原帖
50分!!!有没有大佬调一下
1066333
dengyifan楼主2024/1/25 10:31
#include<bits/stdc++.h>
using namespace std;
int e[114],n,k;//定义 
struct person
{
	int w;//权值
	int num;//编号
	int d;//类别
} r[21300]; //储存每个人的信息
int cmp(const person &a,const person &b)//结构体排序 
{
	if(a.w!=b.w)return a.w>b.w;//从大到小排序
	return a.num<b.num;//序号小优先
}
int main()
{
	cin>>n>>k;//输入 
	for(int i=0; i<10; i++)
	{
		cin>>e[i]; //输入10个e值 
	}
	for(int i=0; i<n; i++)
	{
		cin>>r[i].w;//读入
		r[i].num=i+1;//编号
	}
	sort(r,r+n,cmp);//好用的sort
	for(int i=0; i<n; i++)
	{
		r[i].d=(i-1)%10+1;//分类
		r[i].w+=e[r[i].d];//加上e[i]
	}
	sort(r,r+n,cmp);//好用的sort
	for(int i=0;i<k/*前 k 个数*/; i++)
	{
		printf("%d ",r[i].num);//输出
	}
	return 1+1-1-1+2-2+3+3-4-2;//恶搞的结尾 
}
//___________________________________________________RP++___________________________________________________               忏悔 ing...... 
2024/1/25 10:31
加载中...