Skip to content

Commit 3107a0c

Browse files
committed
new year chaos done
1 parent 9226458 commit 3107a0c

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.hackerrank.interviewpreparation.arrays;
2+
3+
import java.util.Scanner;
4+
5+
/**
6+
* @author rpatra16
7+
* @since 02/11/2018
8+
*/
9+
public class NewYearChaos {
10+
11+
/**
12+
* To solve this question, we just need to count the number of persons
13+
* that overtake a particular person.
14+
*
15+
* @param q the queue
16+
*/
17+
private static void minimumBribes(int[] q) {
18+
int bribes = 0;
19+
for (int i = q.length - 1; i >= 0; i--) {
20+
if (q[i] - i - 1 > 2) {
21+
System.out.println("Too chaotic");
22+
return;
23+
}
24+
for (int j = Math.max(0, q[i] - 2); j < i; j++) {
25+
if (q[j] > q[i]) bribes++;
26+
}
27+
}
28+
System.out.println(bribes);
29+
}
30+
31+
private static final Scanner scanner = new Scanner(System.in);
32+
33+
public static void main(String[] args) {
34+
int t = scanner.nextInt();
35+
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
36+
37+
for (int tItr = 0; tItr < t; tItr++) {
38+
int n = scanner.nextInt();
39+
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
40+
41+
int[] q = new int[n];
42+
43+
String[] qItems = scanner.nextLine().split(" ");
44+
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
45+
46+
for (int i = 0; i < n; i++) {
47+
int qItem = Integer.parseInt(qItems[i]);
48+
q[i] = qItem;
49+
}
50+
51+
minimumBribes(q);
52+
}
53+
54+
scanner.close();
55+
}
56+
}

0 commit comments

Comments
 (0)