Mid Exam 2019 Maрт Група 1 Задача 2 10/100
Реално объркването ми на първа задача беше доста по-голямо, бих казал че тук ми отне повече време да я напиша отколкото да я измисля, някак си задания с по-сложни типове данни и конструкции са ми по-лесни. Въпреки, че нулевите тестове минаха безгрешно от първият път и въпреки, че ми изглежда проста задачата, така както съм я описал джъдж не дава точки. Случвало се е да променят задачите вътрешно в системата докато документа с условието остава стара версия, но това което не ми се иска най-много е да е заради някой знак за равенство.Някакви идеи?
Джъдж: https://judge.softuni.bg/Contests/Practice/Index/1494#1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            decimal budget = decimal.Parse(Console.ReadLine());
            decimal endProfit = 0;
            string[] types = input.Split('|').ToArray();
            List<decimal> reSell = new List<decimal>();
            foreach (var item in types)
            {
                string[] items = item.Split(new char[] { '-', '>' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                string type = items[0];
                decimal priceTag = Convert.ToDecimal(items[1]);
                if (type == "Clothes" && priceTag <= 50.00M && budget >= 50.00M)
                {
                    reSell.Add(Math.Round(priceTag * 1.4M, 2));
                    budget -= priceTag;
                    endProfit += reSell[reSell.Count - 1] - priceTag;
                }
                else if (type == "Shoes" && priceTag <= 35.00M && budget >= 35.00M)
                {
                    reSell.Add(Math.Round(priceTag * 1.4M, 2));
                    budget -= priceTag;
                    endProfit += reSell[reSell.Count - 1] - priceTag;
                }
                else if (type == "Accessories" && priceTag <= 20.50M && budget >= 20.50M)
                {
                    reSell.Add(Math.Round(priceTag * 1.4M, 2));
                    budget -= priceTag;
                    endProfit += reSell[reSell.Count - 1] - priceTag;
                }
            }
            Console.WriteLine(string.Join(" ", reSell.Select(r => r.ToString()).ToArray()));
            Console.WriteLine($"Profit: "+ endProfit);
            if (reSell.Sum() + budget >= 150)
            {
                Console.WriteLine("Hello, France!");
            }
            else
            {
                Console.WriteLine("Time to go.");
            }
        }
    }
}
        
Бюджетът трябва да е по-голям или равен на прайстага(budget >= priceTag), а не: budget >= 50.00M, 35.00M, 20.50M.
if (type == "Clothes" && priceTag <= 50.00M && budget >= 50.00M)
Вече сериозно се излагат, това е втората задача от изпита, а както и първата също има проблеми с условието!
Като ти се каже rounded значи закръгляш, като ти пише да ги форматираш с 2 знака след запетаята е съвсем друго.
Между другото като форматирах принтовете даде още 10 точки, и понеже на вас ви дава повече ме съмнява че проблемът е в прецизността на decimal и може да дава отклонения достатъчни, за да да объркат резултатите. А може би за това не получавате 100 т, защото в pastebin-a са ползвани само double-ли.
И това не помага особенно, но сега съм изморен утре ще сравня решенията. И пак ще се включа.