結果
問題 | No.1281 Cigarette Distribution |
ユーザー | Haa |
提出日時 | 2020-11-06 21:50:10 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 283 ms / 2,000 ms |
コード長 | 739 bytes |
コンパイル時間 | 1,647 ms |
コンパイル使用メモリ | 168,796 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-22 12:40:33 |
合計ジャッジ時間 | 4,289 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<ll,ll> P; typedef vector<ll> VI; typedef vector<VI> VVI; #define REP(i,n) for(int i=0;i<n;i++) #define ALL(v) v.begin(),v.end() const ll MOD=1000000007; const ll INF=1e18; ll power(ll x, ll y){ x%=MOD; if(y==0) return 1; else if(y%2) return x*power(x*x%MOD,y/2)%MOD; else return power(x*x%MOD,y/2); } int main(){ int n, m; cin >> n >> m; for(int i=1;i<=m;i++){ if(i==1) cout << n << endl; else if(n<i*2-1) cout << 0 << endl; else{ if((n+1)%i==0) cout << (n/i)*power(n/i+1,i-1)%MOD << endl; else{ ll a=n-(n/i-1), b=i-1; cout << power(a/b,b-a%b)*power(a/b+1,a%b)%MOD*(n/i-1)%MOD << endl; } } } return 0; }