Проблема (выводит все отрицательные числа)
Так а в чем проблема? На этом выражении ответом и будут только отрицательные числа.
Если взять A = 0, а x,y = 0, то получается условие 2*0+0 > 0 -> False
Если взять A = 1, а x,y = 0, то получается условие 2*0+0 > 1 -> False
Ну и так далее. Все проверки, где A = 0 будут провалены, т.к. левое выражение будет всегда = 0 в начале итерации.
Ответ не может быть положительным числом.
Если под ошибкой подразумевается вывод всех чисел - можно просто запоминать последнее/максимальное число и выводить его в конце
if f == 0:
last_A = A
# после всех циклов
print(last_A)