全探索でどこにミスがあるのかわからない
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 コメント