結果
| 問題 | 
                            No.16 累乗の加算
                             | 
                    
| コンテスト | |
| ユーザー | 
                             bal4u
                         | 
                    
| 提出日時 | 2019-04-07 22:22:36 | 
| 言語 | C  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1 ms / 5,000 ms | 
| コード長 | 502 bytes | 
| コンパイル時間 | 203 ms | 
| コンパイル使用メモリ | 29,696 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-28 00:20:03 | 
| 合計ジャッジ時間 | 789 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 14 | 
ソースコード
// yukicoder: No.16 累乗の加算
// 2019.4.7 bal4u
// 累乗の高速計算
#include <stdio.h>
#define MOD 1000003 
int x, N;
int myPow(int x, int n)  // x^n
{
	long long ans = 1;
	long long xx = x;
	while (n > 0) {
		if (n & 1) ans = (ans * xx) % MOD, n--;
		else xx = (xx * xx) % MOD, n >>= 1;
	}
	return (int)ans;
}
int main()
{
	int i, a, ans;
	scanf("%d%d", &x, &N);
	ans = 0;
	for (i = 0; i < N; i++) {
		scanf("%d", &a);
		ans += myPow(x, a);
	}
	printf("%d\n", ans % MOD);
	return 0;
}
            
            
            
        
            
bal4u