Софтуерно Инженерство
Loading...
+ Нов въпрос
levontehlerian avatar levontehlerian 1 Точки

Проблем със задачата за еднакви двойки

Здравейте,

Имам нужда от помощ за следната задача от упражненията за for цикъл. Задачата минава със всички примерни входове, но judge не е съгласен и един тест не минава. Аз ли някъде греша или judge? Ето и задачата:

4.Еднакви двойки

Дадени са 2*n-на брой числа. Първото и второто формират двойка, третото и четвъртото също и т.н. Всяка двойка има стойност – сумата от съставящите я числа. Напишете програма, която проверява дали всички двойки имат еднаква стойност или печата максималната разлика между две последователни двойки. Ако всички двойки имат еднаква стойност, отпечатайте "Yes, value = {Value}" + стойността. В противен случай отпечатайте "No, maxdiff = {Difference}" + максималната разлика.

 

Ето решението ми:

using System;

namespace EdnakviDvoiki
{
    class EdnakviDvoiki
    {
        static void Main(string[] args)
        {
            int minSum = int.MaxValue;
            int maxSum = int.MinValue;
            int pairs = int.Parse(Console.ReadLine());
            for (int i = 0; i < pairs; i++)
            {
                int currentNumber1 = int.Parse(Console.ReadLine());
                int currentNumber2 = int.Parse(Console.ReadLine());
                int currentSum = currentNumber1 + currentNumber2;
                if (currentSum > maxSum)
                {
                    maxSum = currentSum;
                }
                if (currentSum < minSum)
                {
                    minSum = currentSum;
                }
            }
            if (minSum == maxSum)
            {
                Console.WriteLine($"Yes, value={minSum}");
            }
            if (minSum != maxSum && pairs != 0)
            {
                Console.WriteLine($"No, maxdiff={maxSum - minSum}");
            }
        }
    }
}

Ето и съответният инпут, който не минава:

7
34
-33
52
12
-32
32
23
41
7
25
34
23
124
21

Очакван изход:

No, maxdiff=88

Моят изход:

No, maxdiff=145

Тагове:
0
Programming Basics with C#
chichovoto avatar chichovoto 18 Точки
Best Answer

Здравей!

Твоята програма разпечатва разликата между сумата на кои да е 2 двойки числа. А се иска да се разпечата разликата между две последователни двойки. 

примерно решение:https://pastebin.com/BVwMe5dX

0
levontehlerian avatar levontehlerian 1 Точки

Да, грешката е моя. Чак сега обърнах внимание, че се иска максималната разлика между 2 последователни двойки, а не максималната разлика между всички последователни двойки.

Благодаря.

0