How much is the Earning?
Description
Noddy choosed a city for Advertising his company's product. There are *S* streets in that city. Each day he travels one street. There are *N* buildings in a street which are located at points 1,2,3....N(respectively). Each building has some height(Say h meters).
Noddy stands at point 0. His height is 0.5m. Now he starts communicating with the people of each building. He can communicate with people of a particular building only if he can see that building. If he succeed to communicate with any particular building then his boss gives him R rupees. i.e. if he communicates with K buildings in a day, then he will earn K times R rupees. Now Noddy wants to know his maximum Earning for each day.
Note: All the points are on Strainght Line and Noddy is always standing at point 0.
Input
Input Format
First line of input contains an integer S, denoting no of streets in the city.
Details for each street is described in next two lines.
First line contains two integers N and R denoting no of buildings in the Street and earning on communicating with a building.
Second line contains N integers, denoting height of building.
Constraints
N <= 10000
h <= 1000000000
S <= 100
R <= 10000
Output
Output Format
Print S Lines, each containing maximum earning in i-th street.
Hint
Sample 1 Explanation
There are two streets in the city.
The first street has 6 buildings and the earning of Napoleon for communicating with each building is 3 rupees.
Height of buildings are 8 2 3 11 11 10 respectively.
As Noddy is standing at point 0, he will be able to see only 1st and 4th building.
So his total earning will be 3*2 = 6 in that street
Similarly for 2nd street his earning will be 60 rupees
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int streets= sc.nextInt();
//how many times loop will run
for (int i = 0 ; i<streets;i++){
int larray= sc.nextInt();
int price= sc.nextInt();
int[] elements = new int[larray];
for (int j = 0 ; j<larray;j++){
elements[j]= sc.nextInt();
}
int count = 1;
int dummy = elements[0];
for (int j = 0 ; j<larray;j++){
if (elements[j]>dummy){
dummy=elements[j];
count++;
}
} System.out.println(count*price);
}
}
}
No comments:
Post a Comment