【競プロ】p.22の例題【蟻本】
自分が解いたもののメモ:
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a.at(i); } sort(a.begin(), a.end()); reverse(a.begin(), a.end()); int ans = 0; bool judge = false; for (int i = 0; i < n-2; i++) { if (a.at(i) < a.at(i+1) + a.at(i+2)) { ans = a.at(i) + a.at(i+1) + a.at(i+2); judge = true; break; } } if (judge) { cout << ans << endl; } else { cout << 0 << endl; } }
STLのsortの計算量はO(N logN)らしいので、全体の計算量はO(N logN)