Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
324117 | 刘铄 | 【C6-8】小X算排名 | C++ | 运行超时 | 70 | 1000 MS | 524 KB | 724 | 2025-05-24 16:14:45 |
#include<bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; vector<int> scores(N), original(N); for(int i = 0; i < N; ++i) { cin >> scores[i]; original[i] = scores[i]; } sort(scores.begin(), scores.end(), greater<int>()); vector<int> rank(N); rank[0] = 1; for(int i = 1; i < N; ++i) { if(scores[i] == scores[i-1]) { rank[i] = rank[i-1]; } else { rank[i] = i + 1; } } for(int i = 0; i < N; ++i) { auto it = lower_bound(scores.begin(), scores.end(), original[i], greater<int>()); int pos = it - scores.begin(); cout << rank[pos] << endl; } return 0; }