結果
問題 |
No.681 Fractal Gravity Glue
|
ユーザー |
|
提出日時 | 2018-04-28 02:45:50 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 725 bytes |
コンパイル時間 | 712 ms |
コンパイル使用メモリ | 65,280 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 23:13:56 |
合計ジャッジ時間 | 1,329 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
コンパイルメッセージ
main.cpp:25:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 25 | 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; } 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); long long t=n/(1+s); return (t*(i+sum(i-1,d))%mod+sum_n(i-1,d,n-t*(1+s)))%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; } } }