Advertisement
KoMeDiAnT

Monobilliards

Feb 19th, 2017
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.68 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Monobilliards
  5. {
  6.     public class Monobilliards : IMonobilliards
  7.     {
  8.         public bool IsCheater(IList<int> inspectedBalls)
  9.         {
  10.             var stack = new Stack<int>();
  11.  
  12.             var maxBalls = 0;
  13.            
  14.             for (int i = 0; i < inspectedBalls.Count - 1; i++)
  15.             {
  16.                 if (inspectedBalls[i] > maxBalls)
  17.                 {
  18.                     for (int j = maxBalls + 1; j < inspectedBalls[i] + 1; j++)
  19.                         stack.Push(j);
  20.                 }
  21.  
  22.                 var last = stack.Peek();
  23.                 if (last == inspectedBalls[i])
  24.                 {
  25.                     if (stack.Pop() > maxBalls)
  26.                         maxBalls = last;
  27.                 }
  28.                 else if (last > inspectedBalls[i])
  29.                 {
  30.                     return true;
  31.                 }
  32.             }
  33.             return false;
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement