public static Task getBestTaskToMinimizeDeadline(int _time) {
		Task best_task = null;
		int best_task_exp_delay;
		int current_task_exp_delay;

		for (Task task : Task.tasks_list) {
			if (task.getMinutes_remaining() > 0) {
				best_task = task;
				break;
			}
		}

		for (Task task : Task.tasks_list) {
			if (task.getMinutes_remaining() > 0) {

				current_task_exp_delay = task.calculateExpectedDelay(_time);
				best_task_exp_delay = best_task.calculateExpectedDelay(_time);

				if (current_task_exp_delay > best_task_exp_delay){
					best_task = task;
				}
				else if (current_task_exp_delay == best_task_exp_delay) {
					if (task.getDeadline() < best_task.getDeadline()) {
						best_task = task;			
					}
				}
			}
		}
		return best_task;
	}