Вот мой код:
Код: Выделить всё
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
for (int i = 0; i < n; i++) {
long val = sc.nextLong();
sum += val;
}
System.out.println(sum);
}
}
Код должен правильно суммировать все длинные значения и печатать итоговую сумму.
Что происходит вместо этого
Несмотря на то, что я использую long, выходные данные для некоторых тестовых случаев по-прежнему неверны (либо неправильные значения, подобные переполнению, либо несовпадающие итоговые значения).
Что я пробовал
- Печать каждого значения для подтверждения ввода
- Замена int n на long n
- Проверка логики цикла
- Выполнение тестовых примеров вручную
Почему мое решение дает неверные результаты в некоторых тестовых случаях, хотя я использую long? Что-то не так с тем, как я читаю ввод или суммирую значения?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ry-big-sum
Мобильная версия