 # Need help,Getting WA in problem Street Parade of SPOJ.

Modified Solution Link [with multiple random generated test cases] : http://ideone.com/kECT3L

```My Pseudo-code :

Getting Input

for i from 1 to top:   //top=size of array;

for j from k to top:
Checking if stack[j] == i:
If true j++ ,k=j and break

Else Check queue[index]==i:
if true index-- and break

Else enqueue stack[j] at queue[++index]:
Check whether queue[index]>queue[index-1]:
if true break and print no
```

Understand the input format correctly. It is something of this kind…

``````read(N)
while N is not 0
``````

You are not given number of test cases. Test file ends with N = 0 where you should terminate your code.

1 Like

With this test:

5

1 2 3 4 5

5

5 4 3 2 1

0

What is your answer? It got TLE because you read wrong integer. No number of tests are given in test, but if you read “love of mobiles” is equal 0, it will terminate Let assume x is current number, and we have one stack stores a “love mobiles” which couldn’t be in-ordered at sometimes.

If stack[top]=x, then pop it from stack and increase x by one. Repeat that process until stack[top]<>x or stack is empty.

If x=a[i], then increase x by one, else push it into stack. Actually, increase i. Repeat that process until (i or i) >number of love mobiles.

If we can’t do any process above, and x is not exceed number of love mobiles, we output “no”, else “yes”.

Here is my sample solution for that problem: #12991927 on SPOJ

1 Like

Seems i misunderstood the question…

Thanks @vinayawsm for pointing that out…
But still have some confusions, which i have mentioned in @leduongtuananh 's comment…

Thanks… Now i am bit confused about the input and output…

Can you please explain me what will be the output for this test case

```5
5 4 3 2 1
3
3 2 1
0
```

Yes for both the cases.
Explanation for 2nd case…

``````3
3 2 1
``````

3 enters side street.
2 enters side street.
1 moves to other side.
2 moves to other side.
3 moves to other side.

They are in order now.

1 Like

okay so you mean those were two different cases…

I thought that we have to take both into consideration to solve a single test case… Now i got it… Thanks… can you check my code for street parade problem
n = int(input())

lst = list(map(int,input().split()))

lst1 = []

lst2 = []

for j in range(n):

``````for i in range(len(lst)):

if i+1 != lst[i]:

lst2.append(lst[i])

lst.pop(i)

break

else:

lst1.append(lst[i])

# lst.pop(i)
``````

lst2.reverse()

for i in range(len(lst2)):

``````lst.append(lst2[i])
``````

print(lst,lst1,lst2)

t = False

for i in range(n):

``````if i+1 == lst[i]:

t = True

else:

t = False

break
``````

m = int(input())

if t == True:

``````print('Yes')
``````

else:

``print('No')``