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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.