結果
問題 |
No.1049 Zero (Exhaust)
|
ユーザー |
![]() |
提出日時 | 2020-05-09 11:32:50 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 26 ms / 2,000 ms |
コード長 | 816 bytes |
コンパイル時間 | 2,630 ms |
コンパイル使用メモリ | 195,144 KB |
最終ジャッジ日時 | 2025-01-10 09:44:12 |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> #define M_PI 3.14159265358979323846 // pi using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector<ll> VI; typedef pair<ll, ll> P; typedef tuple<ll, ll, ll> t3; typedef tuple<ll, ll, ll, ll> t4; #define rep(a,n) for(ll a = 0;a < n;a++) #define repi(a,b,n) for(ll a = b;a < n;a++) #include <bits/stdc++.h> using namespace std; const ll mod = 1e9 + 7; const ll INF = 1e15; int main() { ll p, k; cin >> p >> k; vector<ll> as; vector<ll> bs; as.reserve(k + 1); bs.reserve(k + 1); as.push_back(1); bs.push_back(0); rep(i, k) { auto a = (p + 1) * as.back() + 2 * (p - 1) * bs.back(); a %= mod; auto b = as.back() + 2 * (p - 1) * bs.back(); b %= mod; as.push_back(a); bs.push_back(b); } cout << as.back() << endl; return 0; }