Професионална програма
Loading...
+ Нов въпрос
NikolayTsolov avatar NikolayTsolov 2 Точки

Проблем със задача от For loop Exercises Num 04 Equal Pairs

Здравейте, колеги!

занимавам се със задачата от известно време, но не успявам да открия къде е грешката дали в моето решение или в Джъдж, който оценява на 87/100.

На тест номер 7 в Джъдж ми дава грешка само на Test #7 (Incorrect answer), смятам с калкулатор и не откривам причината а на 6 и 7 ред от заданието са подадени числата: -32 и 32 които правят необходимото minValue а последното число е 145 което е maxValue.

И така с minValue : 0, а maxValue 145 макс разликата помежду им става 145.

Пресмятам го с калкулатора отделно и се получава отговор, който кода подава: 145, но в Джъдж пише, че правилният отговор за тези стойности е 88!?

Молбата ми е да я тествате и който знае да каже къде ми е проблема, благодаря! 

Ето кода:

        static void Main(string[] args)

        {
            int n = int.Parse(Console.ReadLine());

            int sum = 0;
            int value = 0;
            int diff = 0;
            int maxDiff = 0;
            int maxValue = int.MinValue;
            int minValue = int.MaxValue;

            for (int i = 0; i < n; i++)
            {
                int num1 = int.Parse(Console.ReadLine());
                int num2 = int.Parse(Console.ReadLine());

                value = num1 + num2;
                sum += Math.Abs(num1 + num2);
               
                if (value > maxValue)
                {
                    maxValue = value;
                }
                if (value < minValue)
                {
                    minValue = value;
                }
                maxDiff = maxValue - minValue;
                diff = sum / n;
            }

            if (diff == value)
            {
                Console.WriteLine($"Yes, value={value}");
            }
            else
            {
                Console.WriteLine($"No, maxdiff={maxDiff}");
            }
        }
    }
}

0
Programming Basics with C# 21/02/2019 00:04:50
chichovoto avatar chichovoto 31 Точки
Best Answer

Здравей!

Твоят код намира максималната разлика между кои да е две двойки. Иска се разликата между две "последователни" двойки.

При входа последните две двойки числа са 34,23 и 124,21 - т.е. разликата е 145-57 = 88 и това е дефакто най-голямата разлика за този тест. При теб смята 145 - 0 = 145, защото имаш двойка със сума ==0 (-32, 32)

100/100 код:       https://pastebin.com/yBVr5gd6


 

0
21/02/2019 00:05:33
NikolayTsolov avatar NikolayTsolov 2 Точки

Къде бил ключа от палатката...:))

Благодаря за бързия и точен отговор! 

 

0