B03 - Supermarket 1

atcoder.jp

ただの 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");
}