結果
| 問題 | 
                            No.16 累乗の加算
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2018-03-20 15:47:56 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 560 bytes | 
| コンパイル時間 | 1,720 ms | 
| コンパイル使用メモリ | 166,972 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-23 21:38:48 | 
| 合計ジャッジ時間 | 2,465 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 4 WA * 10 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
long long Pow
(
	const long long x,
	const long long n,
	const long long m
)
{
long long X;
long long i;
long long P;
	X = x % m;
	i = n;
	P = 1;
	while( i > 0 )
	{
		if( ( i % 2 ) == 0 )
		{
			X *= X;
			X %= m;
			i >>= 1;
		}
		else
		{
			P *= X;
			P %= m;
			i--;
		}
	}
	return P;
}
int main()
{
int i;
long long x;
int N;
long long a;
long long iSum;
	cin >> x;
	cin >> N;
	iSum = 0;
	for( i = 0; i < N; i++ )
	{
		cin >> a;
		iSum += Pow( x, a, 1000003 );
	}
	cout << iSum << endl;
	return 0;
}