結果
問題 |
No.2787 グッドスタイン数列?
|
ユーザー |
![]() |
提出日時 | 2024-06-14 22:55:39 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 852 bytes |
コンパイル時間 | 4,724 ms |
コンパイル使用メモリ | 250,640 KB |
最終ジャッジ日時 | 2025-02-21 22:20:22 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 29 TLE * 1 -- * 25 |
ソースコード
#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 long long get(long long n,long long b){ long long ret = n; long long cur = 1; while(n!=0){ n /= b; ret += n * cur; cur *= b+1; } return ret; } void ng(){ cout<<"No"<<endl; exit(0); } int main(){ long long N,B,C; cin>>N>>B>>C; cout<<"Yes"<<endl; if(C<=1)ng(); C-=2; long long ans = 2; while(true){ long long n = N; n /= B; n /= B; n /= B; if(n>0){ ng(); } if(N>C){ ng(); } if(N<B){ C -= N*2; if(C<0)ng(); ans += N*2; break; } N = get(N,B)-1; B++; C -= 2; ans += 2; } if(C<0)ng(); cout<<"Yes"<<endl; cout<<ans<<endl; return 0; }