题目地址:
https://www.luogu.com.cn/problem/P1583
一道水题。。主要是要准确理解题目的含义。
#include <iostream>
#include <algorithm>
using namespace std;
int E[15];
struct Person {
int init;
int id;
} person[20005];
bool comp(Person p1, Person p2) {
if (p1.init != p2.init) return p1.init > p2.init;
else return p1.id < p2.id;
}
int main() {
int n, k;
cin >> n >> k;
for (int i = 1; i <= 10; ++i) {
cin >> E[i];
}
for (int i = 1; i <= n; ++i) {
person[i].id = i;
cin >> person[i].init;
}
sort(person + 1, person + n + 1, comp);
for (int i = 1; i <= n; ++i) {
person[i].init += E[(i - 1) % 10 + 1];
}
sort(person + 1, person + n + 1, comp);
for (int i = 1; i <= k; ++i) {
cout << person[i].id << " ";
}
return 0;
}