結果
問題 | No.1176 少ない質問 |
ユーザー | 👑 AngrySadEight |
提出日時 | 2020-08-21 22:18:15 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,023 bytes |
コンパイル時間 | 1,500 ms |
コンパイル使用メモリ | 169,620 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-15 05:49:38 |
合計ジャッジ時間 | 2,335 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i = 0; i < (int)(n); i++) #define repr(i,n) for(int i = (int)(n); i >= 0; i--) #define all(v) v.begin(),v.end() typedef long long ll; int main(){ ll A; cin >> A; vector<ll> exp_3(0); vector<ll> exp_2(0); exp_3.push_back(1); ll num = 1; while(true){ if (num > 3000000000000000000){ break; } num *= 3; exp_3.push_back(num); } exp_2.push_back(1); num = 1; while(true){ if (num > 2000000000000000000){ break; } num *= 2; exp_2.push_back(num); } ll len_2 = exp_2.size(); ll len_3 = exp_3.size(); ll ans_2 = 10000; ll ans_3 = 10000; for (ll i = 0; i < len_2; i++){ if (A <= exp_2[i]) ans_2 = min(ans_2, i * 2); } for (ll i = 0; i < len_3; i++){ if (A <= exp_3[i]) ans_3 = min(ans_3, i * 3); } if (A == 5) cout << 5 << endl; else cout << min(ans_2, ans_3) << endl; }