結果
問題 |
No.1158 GCD Products easy
|
ユーザー |
![]() |
提出日時 | 2020-08-11 23:59:11 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 158 ms / 2,000 ms |
コード長 | 767 bytes |
コンパイル時間 | 1,679 ms |
コンパイル使用メモリ | 171,680 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-09 12:01:39 |
合計ジャッジ時間 | 2,728 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 25 |
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=(0);i<(n);i++) using namespace std; typedef long long ll; template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; } ll MOD = 1e9 + 7; ll a, b, n; ll ans; ll mygcd(ll a, ll b){ if(b == 0) return a; return mygcd(b, a % b); } void dfs(vector<ll> v){ if(v.size() == n){ ll ret = v[0]; rep(i, n - 1) ret = mygcd(ret, v[i+1]); ans *= ret; ans %= MOD; return; } for(int i = a; i <= b; i++){ v.push_back(i); dfs(v); v.pop_back(); } } int main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> a >> b >> n; ans = 1ll; vector<ll> v; dfs(v); cout << ans << endl; }