- Quiz
- AC
- 解説
- 降順ソートして上位k個を取るのは分かる
- その中の最小値をxとして、xを何個取ればいいかも分かる
- xより大きい値は全部取る
- あとはxの取り方だが、早く出てきた方から必要な数だけ取れば辞書純最小になる
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
ll N;
cin>>N;
VI A(N);
rep(i, N) cin >> A[i];
auto B = A;
RSORT(B);
ll Q;cin>>Q;
while(Q--){
ll k, pos;
cin>>k>>pos; pos--;
ll x = B[k-1];
ll x_num = 0;
for(int i=k-1; i>=0; i--){
if(B[i]==x) x_num++;
}
VI Ans;
rep(i,N){
if(A[i]>x){
Ans.push_back(A[i]);
}
else if(A[i]==x){
if(x_num){
Ans.push_back(x);
x_num--;
}
}
}
ll ans = Ans[pos];
p(ans);
}
return 0;
}