Advertisement
andruhovski

Olimp Task (final)

May 9th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.59 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace OlimpTask
  9. {
  10.     class Program
  11.     {
  12.         /*
  13.          Завтра чорна п'ятниця - сама велика новорічна розпродажа. Степан, як господар магазину, прийняв рішення,
  14.          що ціни усіх товарів буде знижено на 25%. Він з'ясував, що початкові ціни на усі товари ділились на 4,
  15.          тому після зниження цін усі ціни також виражаються цілим числом.
  16.         Степан вечером перед розпродажею зняв цінники з усіх товарів і надрукував для кожного товару ще один цінник зі знижкою.
  17.         Він залишив їх на столі, розраховуючи зранку їх розвісити. Але, коли він прийшов зранку в магазин,
  18.         то виявилось, що прибиральниця змішала усі цінники разом, і тепер Степану потрібно відділити старі цінники від нових.
  19.         Допоможіть йому.
  20.              */
  21.         static void Main()
  22.         {
  23.             var lines = System.IO.File.ReadAllLines("TextFile1.txt");
  24.             var allNums = lines.Select(int.Parse).Skip(1).ToList();
  25.             var oldPrice = new List<int>();
  26.             var newPrice = new List<int>();
  27.             var n = allNums.Count / 2;
  28.             var pos = allNums.Count - 1;
  29.             while (newPrice.Count != n)
  30.             {
  31.  
  32.                 for (var i = pos - 1; i >= 0; i--)
  33.                 {
  34.                     if (allNums[i] != allNums[pos] / 4 * 3) continue;
  35.                     oldPrice.Add(allNums[pos--]);
  36.                     newPrice.Add(allNums[i]);
  37.                     allNums.RemoveAt(i);
  38.                     break;
  39.                 }
  40.                 pos--;
  41.             }
  42.             Console.WriteLine("----------------------------------");
  43.             foreach (var item in oldPrice)
  44.             {
  45.                 Console.WriteLine(item);
  46.             }
  47.             Console.WriteLine("----------------------------------");
  48.             foreach (var item in newPrice)
  49.             {
  50.                 Console.WriteLine(item);
  51.             }
  52.             Console.ReadLine();
  53.         }
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement