結果
| 問題 |
No.2787 グッドスタイン数列?
|
| コンテスト | |
| ユーザー |
沙耶花
|
| 提出日時 | 2024-06-14 23:00:12 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 879 bytes |
| コンパイル時間 | 4,101 ms |
| コンパイル使用メモリ | 251,432 KB |
| 最終ジャッジ日時 | 2025-02-21 22:22:15 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 45 WA * 9 TLE * 1 |
ソースコード
#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(ans >= 50000000)ng();
}
if(C<0)ng();
cout<<"Yes"<<endl;
cout<<ans<<endl;
return 0;
}
沙耶花