[AtCoder] ABC 134 C – Exception Handling
問題
方針
\( A \) を昇順に整列させた配列を \( B \) とすると、\( B_N \) は \( A \) の最大値となります。\( A_i \) を取り除いた配列の最大値は、\( A_i = B_N \) ならば、\(B_{N – 1} \) であり、そうでなければ、\( B_{N} \) となります。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int N; cin >> N; vector<int> A(N); vector<int> B(N); for (int i = 0; i < N; i++) { cin >> A[i]; B[i] = A[i]; } sort(B.begin(), B.end()); for (int i = 0; i < N; i++) { if (A[i] < B[N - 1]) { cout << B[N - 1] << "\n"; } else { cout << B[N - 2] << "\n"; } } return 0; }
ディスカッション
コメント一覧
まだ、コメントがありません