Here's my code :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine()), i, k, count;
while (t-- > 0) {
ArrayDeque<Integer> q = new ArrayDeque<Integer>();
ArrayList<Integer> ar = new ArrayList<Integer>();
StringTokenizer tokenizer = new StringTokenizer(br.readLine());
int n = Integer.parseInt(tokenizer.nextToken());
int m = Integer.parseInt(tokenizer.nextToken());
StringTokenizer st = new StringTokenizer(br.readLine());
for (i = 0; i < n; i++) {
k = Integer.parseInt(st.nextToken());
q.offer(k);
ar.add(k);
}
Collections.sort(ar, Collections.reverseOrder());
count = 0;
int num = 0, max = ar.get(0), pos = m;
while (true) {
num = q.peek();
if (max > num) {
if (pos == 0)
pos = n - 1;
else
pos--;
q.removeFirst();
q.offer(num);
} else {
if (pos == 0)
break;
else
pos--;
count++;
q.removeFirst();
ar.remove(0);
max = ar.get(0);
}
}
System.out.println(count + 1);
}
}
}
All the test cases given are running fine. Also, it seems to be logically fine. Any idea on why it is giving NZEC? Any help would be appreciated. Thanks in advance. 