JOI 2007 春合宿 day1-1 「Score」

点数ごとに人数求めて適当に、やるだけ。

#include<cstdio>
#include<vector>
#include<algorithm>
#define rep(i,n) for(int i = 0; i < n; i++)
#define drep(i,o) for(int i = o; i >= 0; i--)
#define pb push_back
using namespace std;

int main(){
	int n, a, b[101], c[101];
	vector<int> p;
	
	scanf("%d", &n);
	
	rep(i,101) b[i] = 0;
	
	rep(i,n){
		scanf("%d", &a);
		p.pb(a);
		b[a]++;
	}
	
	a = 1;
	
	drep(i,100){
		c[i] = a;
		a += b[i];
	}
	
	rep(i,n){
		printf("%d\n",c[p[i]]);
	}
	return 0;
}