結果
| 問題 |
No.16 累乗の加算
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2014-10-09 01:43:37 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 483 bytes |
| コンパイル時間 | 443 ms |
| コンパイル使用メモリ | 58,656 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-26 04:46:25 |
| 合計ジャッジ時間 | 1,103 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 |
ソースコード
#include <iostream>
#include <algorithm>
using namespace std;
#define REP(i, n) for(int(i)=0;(i)<(n);++(i))
typedef unsigned long long ull;
int x, N, a, MOD = 1000003;
ull res;
int binpow(ull x, ull k, int m){
if(k==0) return 1;
if(k%2==0) return binpow(((x%m)*(x%m))%m, k/2, m);
else return ((x%m)*binpow(x, k-1, m)) % m;
}
int main(){
cin >> x >> N;
REP(i,N){ cin >> a; res += binpow(x, a, MOD); }
cout << res%MOD << endl;
return 0;
}