結果
| 問題 |
No.2396 等差二項展開
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-07-28 22:52:48 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,501 bytes |
| コンパイル時間 | 2,162 ms |
| コンパイル使用メモリ | 198,600 KB |
| 最終ジャッジ日時 | 2025-02-15 20:37:26 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 7 WA * 24 |
ソースコード
#ifndef hari64
#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#define debug(...)
#else
#include "util/viewer.hpp"
#define debug(...) viewer::_debug(__LINE__, #__VA_ARGS__, __VA_ARGS__)
#endif
// clang-format off
using namespace std;
using ll = long long; using ld = long double;
using pii = pair<int, int>; using pll = pair<ll, ll>;
template <typename T> using vc = vector<T>;
template <typename T> using vvc = vector<vc<T>>;
template <typename T> using vvvc = vector<vvc<T>>;
using vi = vc<int>; using vll = vc<ll>; using vpii = vc<pii>; using vpll = vc<pll>;
using vvi = vc<vi>; using vvll = vc<vll>; using vvpi = vc<vpii>; using vvpll = vc<vpll>;
constexpr int INF = 1001001001; constexpr long long INFll = 1001001001001001001;
template <class T> bool chmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; }
template <class T> bool chmin(T& a, const T& b) { return a > b ? a = b, 1 : 0; }
// clang-format on
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
double N, M, L, K, B;
cin >> N >> M >> L >> K >> B;
const double PI = acos(-1);
complex<double> w = polar(1.0, 2 * PI / L);
complex<double> ans = 0;
for (int n = 1; n <= int(L); n++) {
auto now = pow(w, -K * n) * pow(M, -K / L) *
pow(complex<double>(1, 0) + pow(double(M), 1 / L) * pow(w, n), N);
ans += now;
}
ans /= L;
cout << ((ll)ans.real()) % ((ll)B) << endl;
return 0;
}