## Problem: Buildings receiving sunlight

Given are the heights of certain Buildings which lie adjacent to each other. Sunlight starts falling from left side of the buildings. If there is a building of certain Height, all the buildings to the right side of it having lesser heights cannot see the sun . The task is to find the total number of such buildings that receive sunlight.

Input:

First Line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case consists of two lines. First line of each test case contains an integer N denoting the number of buildings. Second line contains N space separated integers H1, H2,…HN denoting heights of buildings.

Output:

Corresponding to each test case, print the desired output in a new line

Constraints:

1<=T<=100

1<=N<=100

1<=Hi<=100

Example:

Input:

3

6

6 2 8 4 11 13

5

2 5 1 8 3

7

3 4 1 0 6 2 3

Output:

4

3

3

Explanation:

In the first example only buildings of height 6 8 11 and 13 can see the sun, hence output is 4.

Python 2.7

def buildings_cant_see_sun(l): """ return number of buildings cant see the sunlight """ length = len(l) if length == 1: return 0 cur_height, cant_see = l[0], 0 for _ in range(1, length): if l[_] < cur_height: cant_see += 1 else: cur_height = l[_] return cant_see if __name__ == '__main__': t = input() for _ in range(t): n = input() l = map(int, raw_input().split()) can_see = len(l) - buildings_cant_see_sun(l) print can_see

## Reply