@[樱花飞舞](/space/show?uid=57365)
帮你改过了
```cpp
#include<cstdio>
#include<algorithm>
#include <bits/stdc++.h>
using namespace std;
struct MyStruct
{
int w /*初始权值*/,
d,/*序号*/
c/*类别序号*/;
};
inline bool cmp1(MyStruct x, MyStruct y)
{
if (x.w != y.w) return x.w > y.w;
return x.d < y.d;
}
int e[11];
int main()
{
int n, k;
scanf("%d %d", &n, &k);
MyStruct *a = new MyStruct[n + 1];
for (register int i = 1; i <= 10; i++)
scanf("%d", &e[i]);
for (register int i = 1; i <= n; i++)
{
scanf("%d", &a[i].w);
a[i].d = i;
}
std::sort(a + 1, a + 1 + n, cmp1);
// for(int i=1;i<=n;i++)cout<<a[i].w<<" \n"[i==n];
for (register int i = 1; i <= n; i++)
{
a[i].c = (i-1) % 10+1;
a[i].w += e[a[i].c];
}
// for(int i=1;i<=n;i++)cout<<a[i].w<<" \n"[i==n];
std::sort(a + 1, a + 1 + n, cmp1);
for (register int i = 1; i <= k; i++)
printf("%d ", a[i].d);
}
```
by Smile_Cindy @ 2019-05-02 17:39:34
@[Alpha](/space/show?uid=87058) 万分感谢
~~~~自己调试快死了~~~~
by 樱花飞舞 @ 2019-05-02 17:50:30