結果

問題 No.16 累乗の加算
コンテスト
ユーザー hhgfhn1
提出日時 2018-10-18 22:44:17
言語 Java
(openjdk 26.0.2.1 + ACL)
コンパイル:
javac -J-Duser.language=en -encoding UTF8 -cp /opt/aclib/ac_library.jar _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true -cp .:/opt/aclib/ac_library.jar _class_
結果
WJ  
(最新)
AC  
(最初)
実行時間 -
コード長 598 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
最終ジャッジ日時 2026-09-20 08:56:41
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)

ソースコード

diff #
raw source code

import java.util.Scanner;

public class Main {

	@SuppressWarnings("resource")
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int x=scanner.nextInt();
		int n=scanner.nextInt();
		int mod=1000003;
		long ans=0;
		for(int i=0;i<n;i++){
			int a=scanner.nextInt();
			ans+=mod_pow(x,a,mod);
			ans=ans%mod;
		}
		System.out.println(ans);
	}

	public static long mod_pow(long x, long n, int mod) {
		if(n == 0) {
			return 1;
		}
		if(n % 2  == 0) {
			return mod_pow(x * x % mod, n / 2, mod);
		}else {
			return x * mod_pow(x, n - 1, mod) % mod;
		}
	}
	
	
}
0