結果
| 問題 |
No.129 お年玉(2)
|
| コンテスト | |
| ユーザー |
ki_ki33
|
| 提出日時 | 2015-01-17 00:02:18 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 233 ms / 5,000 ms |
| コード長 | 1,639 bytes |
| コンパイル時間 | 3,479 ms |
| コンパイル使用メモリ | 88,872 KB |
| 実行使用メモリ | 46,024 KB |
| 最終ジャッジ日時 | 2024-11-27 23:00:29 |
| 合計ジャッジ時間 | 11,958 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 46 |
ソースコード
import java.io.BufferedInputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import java.util.Map.Entry;
public class Main {
public static final int C = 1000000007;
static final int CY = 1000000000;
//static boolean MAP[][];
static long N;
static long M;
static int MAX = -1;
//static int tic[][];
static int MAP[][];
//static int max;
static int DP[][][];
static int ST[][];
//static int p[];
//static ArrayList<HashSet<Integer>> al;
static TreeMap<Integer, ArrayList<Integer>> hm;
//static ArrayList<Integer> al;
//static int a[][];
//static char[][] ch;
//static ArrayList<HashMap<Long, Long>> al;
//static String a[];
//static String str;
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
BufferedInputStream bs = new BufferedInputStream(System.in);
Scanner sc = new Scanner(bs);
N = sc.nextLong()/1000;
M =sc.nextInt();
BigInteger bi = new BigInteger("0");
long ans = 0;
long let = N%M;
//for (int i=1; i <= let; i++) {
bi = bi.add(calcCombination(M, let));
//}
if (bi.equals(new BigInteger("0"))) {
bi = new BigInteger("1");
}
System.out.println(bi.mod(new BigInteger(CY+"")));
}
/**
* aCbを計算して返す
*/
static BigInteger calcCombination(long a, long b) {
BigInteger rtn = new BigInteger("1");
long k = Math.min(b, a-b);
if (k < 0) {
return new BigInteger("0");
}
for (long i=1; i <= k;i++) {
rtn = rtn.multiply(new BigInteger((a-(i-1))+""));
rtn = rtn.divide(new BigInteger(i + ""));
}
return rtn;
}
}
ki_ki33