不知道为啥部分正确
求大佬指点
Description
又到了云之国一年一度的任务风云榜更新的大日子了。
给出每个人风云力数值,需要你给出每个人的排名。注意,排名存在并列的情况。
Input
一共有 22 行。
第一行一个整数 nn ,表示一共有 nn 个人。
第二行有nn个空格隔开的整数。第ii个数a_iai表示第ii个人的风云力数值。
Output
输出仅一行,共nn个整数,第ii个数a_iai表示第ii个人的风云榜排名。
Sample Input 1
5 50 40 30 100 50
Sample Output 1
2 4 5 1 2
Hint
50%的数据 1 \leq n \leq 60001≤n≤6000.
100%的数据 1 \leq n \leq 10^5;\quad 0 < a_i < 2^{31}1≤n≤105;0<ai<231.
Source
Sai
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
signed int a[100005];
int main() {
signed int n;
vector<int> v;
int j;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
v.push_back(a[i]);
}
sort(v.begin(),v.end(),greater<int>());
for (int i = 0; i < n; i++) {
j = 0;
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
j++;
if (*it == a[i]) {
printf("%d", j);
break;
}
}
if (i != n - 1) {
printf(" ");
}
}
return 0;
}
kr Online Judge http://oj.saikr.com