Official
B - 期末テストの成績順位 / Final Exam Score Ranking Editorial
by
B - 期末テストの成績順位 / Final Exam Score Ranking Editorial
by
kyopro_friends
問題文の指示通りにソートすればよいです。比較関数を実装してもよいですが、(得点の-1倍, 出席番号) を考えると標準の昇順ソートを行うことができます。
計算量は \(O(N\log N)\) です。
実装例 (C++)
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, k;
cin >> n >> k;
vector<pair<int, int>> data;
for(int i=1; i<=n; i++){
int s;
cin >> s;
data.push_back({-s, i});
}
sort(data.begin(), data.end());
cout << data[k-1].second << endl;
}
実装例 (Python)
N, K = map(int, input().split())
S = list(map(int, input().split()))
data = [(-x, i) for i, x in enumerate(S, 1)]
data.sort()
print(data[K-1][1])
posted:
last update:
