Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- public class Main {
- public static void main(String[] args) throws Exception {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String line = br.readLine();
- String line2 = br.readLine();
- String line3 = br.readLine();
- String str = line.replaceAll("[^0-9]", ""); //string から 数字以外を除く
- String str2 = line2.replaceAll("[^0-9]", "");
- String str3 = line3.replaceAll("[^0-9]", "");
- int n = Integer.parseInt(str);
- int k = Integer.parseInt(str3);
- int a[] = new int [n];
- for(int i = 0; i < n; i++){
- a [i] = Character.getNumericValue(str2.charAt(i)); //char change into int
- }
- double dn = Math.pow(2, n);
- int ddn = (int)dn;
- int sum[][] = new int [n+1][ddn];
- boolean ans = false;
- outside: for(int i=1;i<n+1;i++){
- double deden = Math.pow(2, i);
- int dedan = (int)deden;
- for(int j=0;j<dedan;j+=2){
- sum[i][j] = sum[i-1][j/2];
- sum[i][j+1] = sum[i-1][j/2] + a[i-1];
- if(sum[i][j+1] == k){
- ans = true;
- break outside;
- }
- }
- }
- if(ans){
- System.out.println("OK");
- }else{
- System.out.println("NO");
- }
- }
- }
Add Comment
Please, Sign In to add comment