提交时间:2024-01-25 08:49:45
运行 ID: 127360
#include<iostream> #include<algorithm> using namespace std; int n; struct node{ int key,ind,si; }a[2000]; bool cmp1(node x,node y){ return x.key>y.key; } bool cmp2(node x,node y){ return x.ind<=y.ind; } signed main(){ cin>>n; for(int i=0;i<n;i++) { cin>>a[i].key; a[i].ind=i+1; } sort(a,a+n,cmp1); for(int i=0;i<n;i++){ if(a[i].key==a[i-1].key) a[i].si=a[i-1].si; else a[i].si=i; } sort(a,a+n,cmp2); for(int i=0;i<n;i++) cout<<a[i].key<<" "<<a[i].si<<"\n"; return 0; }