paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
C++による「【第 k 要素の探索】k番目に大きな値」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 2番目に大きな値
/* C++による「【第 k 要素の探索】k番目に大きな値」問題集 STEP: 1 2番目に大きな値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; vector<int> a(n); for(int i=0;i<n;i++){ cin>>a[i]; } sort(a.begin(),a.end(),greater<int>()); cout<<a[1]<<endl; return 0; }
・FINAL問題 【第 k 要素の探索】k番目に大きな値
/* C++による「【指定された値の探索】指定された値の位置 3」問題集 FINAL問題 【第 k 要素の探索】k番目に大きな値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; vector<int> a(n); for(int i=0;i<n;i++){ cin>>a[i]; } int k; cin>>k; sort(a.begin(),a.end(),greater<int>()); cout<<a[k-1]<<endl; return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。