Importance of time problem

https://ide.geeksforgeeks.org/8G4B2UwuB8----my code runs fine for the sample input provided and i think the logic is also correct but upon submission it is showing runtime error. What is the error in the code.

@AbhishekAhlawat1102
your code is correct it just need a Main class to run
import java.util.*;
public class Main{
static class Queue {

protected int size;

protected int front;
protected int[] data;

public Queue() {
	this.size = 0;
	this.front = 0;
	this.data = new int[5];
}

public Queue(int cap) {
	this.size = 0;
	this.front = 0;
	this.data = new int[cap];
}

public int size() {
	return size;
}

public boolean isEmpty() {
	return (size == 0);
}

public void enqueue(int item) throws Exception {
	if (this.size() == this.data.length) {
		int[] oa = this.data;
		int[] na = new int[oa.length * 2];
		for (int i = 0; i < this.size(); i++) {
			int idx = (i + front) % oa.length;
			na[i] = oa[idx];
		}

		this.data = na;
		this.front = 0;
	}

	// if (this.size == this.data.length) {
	// throw new Exception("queue is full");
	// }

	this.data[(front + size) % this.data.length] = item;
	size++;

}

public int dequeue() throws Exception {
	if (this.size == 0) {
		throw new Exception("queue is empty");

	}

	int rv = this.data[front];
	front = (front + 1) % this.data.length;
	size--;

	return rv;

}

public int getFront() throws Exception {
	if (this.size == 0) {
		throw new Exception("queue is empty");
	}

	int rv = this.data[front];

	return rv;
}

public void display() {
	System.out.println();
	for (int i = 0; i < size; i++) {
		int idx = (i + front) % this.data.length;
		System.out.print(this.data[idx] + " ");
	}
    System.out.print("END");
}

}

public static int ImpofTime(Queue q,int[] orig_order) throws Exception{ 
int total_time = 0, job = 0, excecuted_job = 0;
   while(!q.isEmpty()){
	   job = q.getFront();
	   if(job == orig_order[excecuted_job]){
		   q.dequeue();
		   excecuted_job++;
           total_time++;
	   }else{
		   q.dequeue();
		   q.enqueue(job);
		   total_time++;
	   }
   }
   return total_time;
} 


static Scanner scn = new Scanner(System.in);

public static void main(String[] args) throws Exception {

	Queue q = new Queue();

	int n = scn.nextInt();
	int[] process = new int[n];
	for (int i = 0; i < n; i++) {
		q.enqueue(scn.nextInt());
	}
	
	for(int i = 0;i < n;i++){
	
	    process[i] = scn.nextInt();
	}
	
	

	System.out.print(ImpofTime(q,process));

}

}

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.