結果
問題 |
No.681 Fractal Gravity Glue
|
ユーザー |
|
提出日時 | 2018-04-28 01:34:32 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 738 bytes |
コンパイル時間 | 579 ms |
コンパイル使用メモリ | 65,408 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 23:11:41 |
合計ジャッジ時間 | 1,338 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
コンパイルメッセージ
main.cpp:24:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 24 | main() | ^~~~
ソースコード
#include<iostream> using namespace std; long long mod=1e9+7; long long count(long long i,long long d) { if(i<1)return 0; else if(i==1)return d; else return d+count(i-1,d)*(d+1); } long long pow(long long a,long long b) { return b?pow(a*a%mod,b/2)*(b%2?a:1)%mod:1; } long long sum(long long i,long long d) { return((d+1)*(pow(d+1,i)+mod-1)%mod*pow(d,mod-2)%mod-i+mod)%mod*pow(d,mod-2)%mod*d%mod; } long long sum_n(long long i,long long d,long long n) { if(n==0)return 0; long long s=count(i-1,d); return (n/(s+1)*(sum(i-1,d)+i)%mod+sum_n(i-1,d,n-n/(s+1)*(s+1)))%mod; } main() { long long n,b,d; cin>>n>>b>>d; for(long long i=1;;i++) { if(count(i,d)>n) { cout<<(sum(b,d)+mod-sum_n(i,d,n))%mod<<endl; return 0; } } }