Без пояснений не удовлетворяет последнему условию. Программа работает и для отрицательных и для положительных чисел с одинаковым успехом.
package com.javarush.task.task05.task0532;
import java.io.*;
import java.util.ArrayList;
import static java.lang.Math.*;
/*
Задача по алгоритмам
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0;
int num = Integer.parseInt(reader.readLine());
ArrayList<Integer> a = new ArrayList<>();
for (int i = 0; i < num; i++) {
a.add(Integer.parseInt(reader.readLine()));
if (abs(a.get(i)) > maximum) maximum = a.get(i);
}
for (int i = 0; i < num; i++) {
if (a.get(i) > maximum) maximum = a.get(i);
}//напишите тут ваш код
System.out.println(maximum);
}
}