結果
問題 | No.16 累乗の加算 |
ユーザー |
![]() |
提出日時 | 2019-08-27 02:57:57 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,649 bytes |
コンパイル時間 | 1,317 ms |
コンパイル使用メモリ | 160,436 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-14 04:16:57 |
合計ジャッジ時間 | 1,982 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<ll, ll> l_l;typedef pair<int, int> i_i;template<class T>inline bool chmax(T &a, T b) {if(a < b) {a = b;return true;}return false;}template<class T>inline bool chmin(T &a, T b) {if(a > b) {a = b;return true;}return false;}#define EPS (1e-7)#define INF (1e9)#define PI (acos(-1))const ll mod = 1000003;ll inv[10000100];ll FactorialInv[10000100];ll Factorial[10000100];ll beki(ll a, ll b){if(b == 0){return 1;}ll ans = beki(a, b / 2);ans = ans * ans % mod;if(b % 2 == 1){ans = ans * a % mod;}return ans;}void init_combination(){const int MAX = 10000002;Factorial[0] = 1;inv[0] = 1;for(int i = 1; i <= MAX; i++){Factorial[i] = Factorial[i - 1] * i % mod;}FactorialInv[MAX] = beki(Factorial[MAX], mod - 2);for(ll i = MAX - 1; i >= 0; i--) {FactorialInv[i] = FactorialInv[i+1] * (i+1) % mod;}for(int i = 1; i <= MAX; i++) {inv[i] = FactorialInv[i] * Factorial[i-1] % mod;}}ll combination(ll a, ll b){if((a == b) || (b == 0)){return 1;}if(a < b) return 0;ll ans = Factorial[a] * FactorialInv[b] % mod;ans = ans * FactorialInv[a - b] % mod;return ans;}int main() {//cout.precision(10);cin.tie(0);ios::sync_with_stdio(false);ll x, n;cin >> x >> n;ll ans = 0;while(n--) {ll a;cin >> a;ans += beki(x, a);}cout << ans % mod << endl;return 0;}