这次我参赛了,,,,,,唯一做出来的题。。。。。。。
题意看样例就知道了。。。。。。。。很简单。。。。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x;
scanf("%d",&x);
int i;
int a[2001];
int c[2001];
int biaoji;
int max1=-1,min1=99999;
for(i=0;i<x;i++)
{
scanf("%d",&a[i]);
max1=max(max1,a[i]);
if(min1>a[i]) {biaoji=i; min1=a[i];}
}
int max2=-99;
int t=1;
int w=0;
//printf("%d\n",biaoji);
while(a[biaoji]!=-1)
{
for(i=0;i<x;i++)
{
if(a[i]==max1) {c[i]=t;w++;a[i]=-1;}
else if(a[i]!=-1) max2=max(max2,a[i]);
}
max1=max2;
max2=-1;
t+=w;
w=0;
//printf("%d**\n",t);
}
for(i=0;i<x;i++) printf("%d ",c[i]);
return 0;
}