結果
問題 | No.16 累乗の加算 |
ユーザー |
![]() |
提出日時 | 2018-06-16 18:45:37 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 911 bytes |
コンパイル時間 | 1,482 ms |
コンパイル使用メモリ | 166,608 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 16:23:36 |
合計ジャッジ時間 | 2,099 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
#include "bits/stdc++.h"#define REP(i,n,N) for(ll i=(n); i<(N); i++)#define RREP(i,n,N) for(ll i=(N-1); i>=n; i--)#define CK(n,a,b) ((a)<=(n)&&(n)<(b))#define ALL(v) (v).begin(),(v).end()#define p(s) cout<<(s)<<endl#define p2(a,b) cout<<(a)<<" "<<(b)<<endltypedef long long ll;using namespace std;const ll mod=1e6+3;long long fast_power(long long a, long long b) {long long ret = 1;// aが負の場合if (a < 0) {a = -a;if (b % 2 == 1) ret = -1;}// 累乗計算while (b>0) {if (b & 1) {ret *= a;}a *= a;a %= mod;ret %= mod;b >>= 1;}return ret;}ll x, N;int main(){while(cin>>x>>N){ll ans=0;REP(i,0,N){ll a;cin>>a;ans += fast_power(x,a);ans %= mod;}p(ans);}return 0;}