P1583 魔法照片

来源:互联网 发布:php compact 编辑:程序博客网 时间:2024/05/16 07:53
/*题型:排序注意,结构体别搞混了,按照题目意思模拟即可;注意cmp的写法 */ #include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;struct stu{    int W;//权值    int D;//类别    int B;//编号}a[20005];bool cmp(stu a,stu b){    if(a.W!=b.W)  return a.W>b.W;    else if(a.W==b.W) return a.B<b.B;}int E[11];//额外权值int n,k;int main(){    cin>>n>>k;//n个人,k张照片     for(int i=1;i<=10;i++)      cin>>E[i];//初始权值     for(int j=0;j<n;j++)     {         cin>>a[j].W;//额外权值          a[j].B=j+1;//编号      }    sort(a,a+n,cmp);    for(int i=0;i<n;i++) a[i].D=(i+1-1)%10+1;//归类别,按照题意写,本来编号为i+1     for(int i=0;i<n;i++) a[i].W+=E[a[i].D];//加上额外权值    sort(a,a+n,cmp);    for(int i=0;i<k;i++) cout<<a[i].B<<" ";    cout<<endl;    return 0;}