いくつかの入力数値の和が該当の数値と合致するか探索したい

全探索でどこにミスがあるのかわからない

Atcoderの問題に取り組んでいるのですが、サンプル問題には正解したものの自動テストでいくつか引っかかっているので、どこが間違っているか教えて頂きたいです。

問題文

N 枚のカードが横一列に並べられています。左から
i 番目
(1≤i≤N) のカードには整数
A
i

が書かれています。

カードの中からいくつかを選んで、合計がちょうど
S となるようにする方法はありますか。

制約
1≤N≤60
1≤A
i

≤10000
1≤S≤10000
入力はすべて整数

入力例

3 11 2 5 9

出力例

Yse

入力例

4 11 3 1 4 5

出力例

No

実際のコード

Java

1import java.util.*;2public class Main {3 public static void main(String[] args) {4 Scanner sc = new Scanner(System.in);5 int N = sc.nextInt();6 int S = sc.nextInt();7 8 boolean date = false;9 int ary[] = new int[N];10 for(int i = 0; i < N; i++){11 ary[i] = sc.nextInt();12 }13 for(int j = 0; j < N-1; j++ ){14 for(int k = 0; k < N-1; k++ ){15 if(ary[j]+ary[k+1]==S){16 date = true;17 break;18 }19 }20 if(date){21 break;22 }23 }24 25 if (date) {26 System.out.println("Yes");27 } else {28 System.out.println("No");29 }30 }31}

長くなりましたがご教授お願い致します。

コメントを投稿

0 コメント