原題傳送門spa
題目不是很難,但錯了好屢次code
思路很簡單,直接按照題意來就好了,但很容易被騙,看來語文水平竟也是Coder的硬傷。get
#include<cstdio> #include<algorithm> using namespace std; struct Node { int id,w; }p[20005]; int n,k,E[11]; bool cmp(Node a,Node b) { if(a.w==b.w) return a.id<b.id; return a.w>b.w; } int main() { scanf("%d%d",&n,&k); for(int i=1;i<=10;i++) scanf("%d",&E[i]); for(int i=1;i<=n;i++) { scanf("%d",&p[i].w); p[i].id=i; } sort(p+1,p+1+n,cmp); for(int i=1;i<=n;i++) p[i].w+=E[(i-1)%10+1]; sort(p+1,p+1+n,cmp); for(int i=1;i<=k;i++) printf("%d ",p[i].id); return 0; }