Submission #860443
Source Code Expand
Copy
/** * Created on 2016/08/31. */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int A = sc.nextInt(); int[] nums = new int[N]; long X = -1; for(int i=0; i<N; i++){ nums[i] = sc.nextInt(); X = Math.max(nums[i], X); } long ans = solve(N, A, nums, (int)X); System.out.println(ans); } private static long solve(int N, int A, int[] nums, int X) { long[][][] dp = new long[N+1][N+1][N*X + 1]; dp[0][0][0] = 1L; for(int i=1; i<N+1; i++){ for(int j=0; j<N+1; j++){ for(int k=0; k<N*X+1; k++){ int prevJ = j-1; int prevK = k-nums[i-1]; if(prevJ < 0 || prevK < 0){ dp[i][j][k] = dp[i-1][j][k]; }else{ dp[i][j][k] = dp[i-1][prevJ][prevK] + dp[i-1][j][k]; } } } } long ret = 0; for(int t=1; t<=N; t++){ ret += dp[N][t][t*(int)A]; } return ret; } // Algorithms private static ArrayList<Integer> getPrimeNumbers(int upperLimit) { ArrayList<Integer> ret = new ArrayList<Integer>(); ret.add(2); ret.add(3); for (int i = 5; i <= upperLimit; i += 2) { boolean isPrime = true; // 素数で平方根まで試し割りしてみる for (int j = 2; j * j <= i; j++) { if (i % j == 0) { isPrime = false; break; } } if (isPrime) { ret.add(i); } } return ret; } // View Method //* List public static <T> void viewList(List<T> list) { for (T item : list) { System.out.print(item + "\t"); } System.out.println(""); } //* Map public static <K, V> void viewMap(Map<K, V> map) { Set<K> keys = map.keySet(); for (K key : keys) { System.out.print("(" + key + ", " + map.get(key) + ")\t"); } System.out.println(""); } //* Matrix public static void viewIntMatrix(int[][] matrix) { for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + "\t"); } System.out.println(""); } } }
Submission Info
Submission Time | |
---|---|
Task | C - Tak and Cards |
User | neoki |
Language | Java8 (OpenJDK 1.8.0) |
Score | 0 |
Code Size | 2730 Byte |
Status | RE |
Exec Time | 413 ms |
Memory | 77648 KB |
Judge Result
Set Name | Sample | Subtask1 | All | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 200 | 0 / 100 | ||||||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | example_01.txt, example_02.txt, example_03.txt, example_04.txt |
Subtask1 | example_01.txt, example_02.txt, example_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt |
All | example_01.txt, example_02.txt, example_03.txt, example_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example_01.txt | AC | 195 ms | 9424 KB |
example_02.txt | AC | 202 ms | 9424 KB |
example_03.txt | AC | 191 ms | 9552 KB |
example_04.txt | AC | 211 ms | 10452 KB |
subtask1_01.txt | AC | 227 ms | 11476 KB |
subtask1_02.txt | AC | 222 ms | 11412 KB |
subtask1_03.txt | AC | 224 ms | 11472 KB |
subtask1_04.txt | RE | 203 ms | 9556 KB |
subtask1_05.txt | AC | 224 ms | 11468 KB |
subtask1_06.txt | AC | 194 ms | 9428 KB |
subtask1_07.txt | RE | 197 ms | 9428 KB |
subtask1_08.txt | AC | 222 ms | 11472 KB |
subtask1_09.txt | AC | 216 ms | 11020 KB |
subtask2_01.txt | AC | 413 ms | 77648 KB |
subtask2_02.txt | AC | 408 ms | 77640 KB |
subtask2_03.txt | AC | 362 ms | 60844 KB |
subtask2_04.txt | AC | 412 ms | 77648 KB |
subtask2_05.txt | AC | 406 ms | 77644 KB |
subtask2_06.txt | RE | 240 ms | 10696 KB |
subtask2_07.txt | AC | 410 ms | 77604 KB |
subtask2_08.txt | AC | 287 ms | 33228 KB |
subtask2_09.txt | AC | 280 ms | 33236 KB |
subtask2_10.txt | AC | 312 ms | 41252 KB |
subtask2_11.txt | AC | 326 ms | 42784 KB |