警钟撅烂! 这是40pts程序
#include<bits/stdc++.h>
using namespace std;
struct node{
int v, d;
};
node g[100500];
int n,k;
bool cmp(node x1,node x2){
if(x1.v<x2.v){
return 1;
}
else if(x1.v>x2.v){
return 0;
}
else if(x1.v==x2.v){
return x1.v*x1.d<x2.v*x2.d;
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>g[i].v;
g[i].d=i;
}
sort(g+1,g+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<g[i].d<<" ";
}
return 0;
}
这是100pts程序
#include<bits/stdc++.h>
using namespace std;
struct node{
long long v, d;
};
node g[100500];
int n,k;
bool cmp(node x1,node x2){
if(x1.v<x2.v){
return 1;
}
else if(x1.v>x2.v){
return 0;
}
else if(x1.v==x2.v){
return x1.v*x1.d<x2.v*x2.d;
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>g[i].v;
g[i].d=i;
}
sort(g+1,g+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<g[i].d<<" ";
}
return 0;
}
找不同?