CCC '14 S3 - The Geneva Confection

View as PDF

Submit solution


Points: 7 (partial)
Time limit: 5.0s
Memory limit: 64M

Problem type

Canadian Computing Competition: 2014 Stage 1, Senior #3

In order to ensure peace and prosperity for future generations, the United Nations is creating the world's largest candy. The ingredients must be taken in railway cars from the top of a mountain and poured into Lake Geneva. The railway system goes steeply from the mountaintop down to the lake, with a T-shaped branch in the middle as shown below.

Right now, each of the N ingredients is in its own railway car. Each railway car is assigned a positive integer from 1 to N. The ingredients must be poured into the lake in the order 1, 2, 3, \ldots, N but the railway cars are lined up in some random order. The difficulty is that, because of the especially heavy gravity today, you can only move cars downhill to the lake, or sideways on the branch line. Is it still possible to pour the ingredients into the lake in the order 1, 2, 3, \ldots, N ?

For example, if the cars were in the order 2, 3, 1, 4, we can slide these into the lake in order as described below:

  • Slide car 4 out to the branch
  • Slide car 1 into the lake
  • Slide car 3 out to the branch
  • Slide car 2 into the lake
  • Slide car 3 from the branch into the lake
  • Slide car 4 from the branch into the lake

Input Specification

The first line will contain the number T (1 \le T \le 10) which is the number of different tests that will be run. Each test has the form of an integer N (1 \le N \le 100\,000) on the first line of the test, followed by a list of the N cars listed from top to bottom. The cars will always use the numbers from 1 to N in some order.

Output Specification

For each test, output one line which will contain either Y (for "yum") if the recipe can be completed, and N otherwise.

Sample Input

2
4
2
3
1
4
4
4
1
3
2

Output for Sample Input

Y
N

Comments


  • 0
    Macster  commented on Aug. 26, 2018, 10:23 a.m.

    Can someone look over my code? I'm getting WA for all test cases except for the first one :/


    • 1
      mango8023  commented on Oct. 10, 2018, 5:19 a.m.

      I see your code, and find some mistakes. In fact, you cannot assume that the number which be put to the branch is the largest of the remaining numbers. You can try this data as an instance: 4 2 3 1 (one test case with four numbers from top to bottom). And you'll see that the number '4' will not be put to the branch, but put in the river immediately when it comes.


  • 0
    Deathheart270  commented on July 30, 2018, 1:32 p.m.

    how to optimize runtime in py3


  • 0
    AlanL  commented on Jan. 5, 2018, 6:10 p.m.

    Kind of confused on what's wrong with my code... :(


    • 1
      max  commented on Jan. 5, 2018, 10:09 p.m.

      Your code looks like it would run just fine, except you need to make a slight change to line 10 (if you have changed your code around, it is the one where you loop "repeater" times)

      Good luck!


  • 1
    deepcpp  commented on Aug. 17, 2017, 1:47 p.m.

    This problem is exactly like this.


    • -1
      nikos  commented on Sept. 25, 2017, 2:45 p.m.

      that s tru3