andruhovski icon

Olimp Task (final)

andruhovski | PRO | 05/09/17 11:31:27 AM UTC | 0 ⭐ | 533 👁️ | Never ⏰ | []
C# |

2.59 KB

|

None

|

0 👍

/

0 👎

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
 
namespace OlimpTask
{
    class Program
    {
        /*
         Завтра чорна п'ятниця - сама велика новорічна розпродажа. Степан, як господар магазину, прийняв рішення, 
         що ціни усіх товарів буде знижено на 25%. Він з'ясував, що початкові ціни на усі товари ділились на 4, 
         тому після зниження цін усі ціни також виражаються цілим числом.
        Степан вечером перед розпродажею зняв цінники з усіх товарів і надрукував для кожного товару ще один цінник зі знижкою. 
        Він залишив їх на столі, розраховуючи зранку їх розвісити. Але, коли він прийшов зранку в магазин, 
        то виявилось, що прибиральниця змішала усі цінники разом, і тепер Степану потрібно відділити старі цінники від нових. 
        Допоможіть йому.
             */
        static void Main()
        {
            var lines = System.IO.File.ReadAllLines("TextFile1.txt");
            var allNums = lines.Select(int.Parse).Skip(1).ToList();
            var oldPrice = new List<int>();
            var newPrice = new List<int>();
            var n = allNums.Count / 2;
            var pos = allNums.Count - 1;
            while (newPrice.Count != n)
            {
 
                for (var i = pos - 1; i >= 0; i--)
                {
                    if (allNums[i] != allNums[pos] / 4 * 3) continue;
                    oldPrice.Add(allNums[pos--]);
                    newPrice.Add(allNums[i]);
                    allNums.RemoveAt(i);
                    break;
                }
                pos--;
            }
            Console.WriteLine("----------------------------------");
            foreach (var item in oldPrice)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("----------------------------------");
            foreach (var item in newPrice)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}

Comments