結果
問題 | No.1664 Unstable f(n) |
ユーザー |
|
提出日時 | 2021-09-04 17:11:51 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,039 bytes |
コンパイル時間 | 723 ms |
コンパイル使用メモリ | 69,032 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-21 06:25:35 |
合計ジャッジ時間 | 6,875 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 WA * 19 |
ソースコード
#include <iostream>#include <math.h>using namespace std;typedef long long LL;int main(){LL N,n;cin >> N;if (N == 1) {cout << 1 << endl;return 0;}int i = 1;int j = 0;LL Min1=0, Min2=0;LL Ni = 0, Nj = 0;int I1=0, J1=0, I2=0, J2=0;bool bLoop = true;for (i = 2; i > 0; i++) {for (j = 2; j >= 0; j++) {n = (LL)pow(i, j);if (n == N) {Min1 = i + j;bLoop = false;break;}else if (n>N){I1 = i;J1 = j-1;Nj = (LL)pow(I1, J1);Min1 = (int)(I1 + J1 + (N - Nj));bLoop = false;break;}}if (!bLoop) {break;}}bLoop = true;for (j = 2; j > 0; j++) {for (i = I1+1; i >= 0; i++) {n = (LL)pow(i, j);if (n == N) {Min2 = i + j;bLoop = false;break;}else if (n>N){I2 = i-1;J2 = j;Ni = (LL)pow(I2, J2);Min2 = (int)(I2 + J2 + (N - Ni));bLoop = false;break;}}if (!bLoop) {break;}}if (Min1 < Min2) {cout << Min1 << endl;}else {cout << Min2 << endl;}return 0;}