#include<stdlib.h>
#define N 50000
unsigned long de[10];
unsigned long n,k;
struct person{
unsigned long num;
unsigned long value;
};
struct person p[N];
struct person *ta,*tb;
int cmp(const void *a,const void *b)
{
ta = (struct person *)a; tb = (struct person *)b;
if ((ta->value) == (tb->value))
return (ta->num)-(tb->num);
else
return (tb->value)-(ta->value);
}
long main()
{
long i,j,k;
void init();
void add_e();
void prlong();
init();
qsort(p,n,sizeof(long)*2,cmp);
add_e();
qsort(p,n,sizeof(long)*2,cmp);
prlong();
return 0;
}
void init()
{
long i;
scanf("%ld%ld",&n,&k);
for (i = 0;i < 10;i++)
scanf("%ld",de+i);
i = 0;
while(i < n) {
scanf("%ld",&p[i].value);
p[i].num = i+1;
i++;
}
}
void add_e()
{
long i;
for (i = 0;i < n;i++)
p[i].value = p[i].value+de[i];
}
void prlong()
{
long i;
for (i = 0;i < k-1;i++)
printf("%ld ",p[i].num);
if (i < k)
printf("%ld\n",p[i].num);
}
数据范围试过开过好大。但就是错……