Submission #2553876
Source Code Expand
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] S = new int[N]; for (int i = 0; i < N; i++) { S[i] = sc.nextInt(); } System.out.println( solve(N, S) ); } private static int solve(int N, int[] S) { boolean[][] dp = new boolean[N + 1][10000 + 1]; dp[0][0] = true; for (int i = 1; i <= N; i++) { int s = S[i-1]; for (int p = 0; p <= 10000; p++) { if( p >= s ) { dp[i][p] = dp[i-1][p-s] || dp[i-1][p]; } else { dp[i][p] = dp[i-1][p]; } } } int ans = 0; for (int i = 0; i <= 10000; i++) { if( dp[N][i] && i % 10 != 0 ) { ans = Math.max(ans, i); } } return ans; } private static void showPoints(boolean[] points) { List<Integer> result = new ArrayList<>(); for (int i = 0; i <= 10000; i++) { if( points[i] ) { result.add(i); } } System.err.println( result ); } }
Submission Info
Submission Time | |
---|---|
Task | C - Bugged |
User | kusomushi |
Language | Java8 (OpenJDK 1.8.0) |
Score | 300 |
Code Size | 1293 Byte |
Status | AC |
Exec Time | 129 ms |
Memory | 24148 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03 |
All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 95 ms | 19796 KB |
a02 | AC | 95 ms | 20564 KB |
a03 | AC | 96 ms | 19028 KB |
b04 | AC | 94 ms | 19284 KB |
b05 | AC | 129 ms | 20948 KB |
b06 | AC | 111 ms | 21076 KB |
b07 | AC | 116 ms | 23508 KB |
b08 | AC | 114 ms | 24020 KB |
b09 | AC | 118 ms | 22100 KB |
b10 | AC | 98 ms | 19284 KB |
b11 | AC | 116 ms | 21076 KB |
b12 | AC | 119 ms | 24148 KB |