結果
| 問題 |
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;
}
}
}