题目
题目思路很简单,简单模拟,但样例很容易误导人,留作纪念,以后做这种模拟题,还是得老老实实地写。
*#include <iostream>
#include <cmath>
#include <queue>
#include <map>
#include <cstring>
#include <algorithm>
using namespace std;
struct People
{
int ID;
int W;
int D;
int C;
};
bool Cmp(People a, People b)
{
if (a.W != b.W) {
return a.W > b.W;
}
else {
return a.ID < b.ID;
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n, k;
cin >> n >> k;
int E[11];
for (int i = 1; i <= 10; i++) {
cin >> E[i];
}
People P[n + 1];
for (int i = 1; i <= n; i++) {
cin >> P[i].W;
P[i].ID = i;
}
sort(P + 1, P + n + 1, Cmp);
for (int i = 1; i <= n; i++) {
P[i].D = i;
}
for (int i = 1; i <= n; i++) {
int idx = (P[i].D - 1) % 10 + 1;
P[i].W += E[idx];
}
sort(P + 1, P + n + 1, Cmp);
for (int i = 1; i <= k; i++) {
cout << P[i].ID;
if (i == k) {
cout << endl;
}
else {
cout << ' ';
}
}
return 0;
}*