I'm trying to solve this problem. I changed Scanner and used BufferedReader but I'm still getting TLE with the given code. Can I have a code review to help determine where else performance can be optimized?
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.io.InputStreamReader;
class LittleDeepuAndArray {
public static void main(String args[] ) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
long N = Long.parseLong(line);
List<Long> list = new ArrayList<Long>();
String line5 = br.readLine();
String[] numbers = line5.split(" ");
for(int z=0;z<N;z++) list.add(Long.parseLong(numbers[z]));
String line2 = br.readLine();
long M = Long.parseLong(line2);
long X=0;
int k=0,m=0;
long zz=0;
long size=list.size();
for(k=0;k<M;k++) {
X = Long.parseLong(br.readLine());
for (m=0;m<size;m++) {
zz=list.get(m);
if(X<zz) list.set(m,zz-1);
}
}
for (m=0;m<size;m++) {
if(m==size-1) System.out.print(list.get(m));
else System.out.print(list.get(m) + " ");
}
}
}