ただの 3 重ループだと商品が重複するので WA になる。商品が重複しない工夫が必要。
var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(int.Parse).ToList(); var answer = false; // 組み合わせなので、同じ商品を選ばない工夫が必要。 // 先頭から開始するので、組み合わせる商品は次以降から選ぶ。 for (var i = 0; i < N; i++) { for (var j = i + 1; j < N; j++) { for (var k = j + 1; k < N; k++) { if (A[i] + A[j] + A[k] == 1000) { answer = true; } } } } if (answer) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); }