#include<bits/stdc++.h>
using namespace std;
struct fuck{
int a,w;
}you[50005];
int n,k,e[11];
int main(){
cin>>n;
for(int i=1;i<=10;i++)cin>>e[i];
for(int i=1;i<=n;i++){cin>>you[i].w;you[i].a=i;}
sort(you+1,you+1+n,[](fuck &a,fuck &b){
if(a.w==b.w)return a.a<b.a;
return a.w>b.w;
});
for(int i=1;i<=n;i++)you[i].w+=e[(i-1)%10+1];
sort(you+1,you+1+n,[](fuck &a,fuck &b){
if(a.w==b.w)return a.a<b.a;
return a.w>b.w;
});
for(int i=1;i<=k;i++)cout<<you[i].a<<" ";
}
2 个赞
你的 k 没写输入。
2 个赞
#include<bits/stdc++.h>
using namespace std;
struct fuck{
int a,w;
}you[50005];
int n,k,e[11];
int main(){
cin>>n;
cin>>k;
for(int i=1;i<=10;i++)cin>>e[i];
for(int i=1;i<=n;i++){cin>>you[i].w;you[i].a=i;}
sort(you+1,you+1+n,[](fuck &a,fuck &b){
if(a.w==b.w)return a.a<b.a;
return a.w>b.w;
});
for(int i=1;i<=n;i++)you[i].w+=e[(i-1)%10+1];
sort(you+1,you+1+n,[](fuck &a,fuck &b){
if(a.w==b.w)return a.a<b.a;
return a.w>b.w;
});
for(int i=1;i<=k;i++)cout<<you[i].a<<" ";
}
3 个赞