

가우스의 덧셈 알고리즘을 활용해야 함을 (5 - 1 + 1) /2만큼 곱해주고 가운데 숫자인 3을 더해준다. 이때 3은 (1 + 5) /2와 같다.(4 - 1 + 1) / 2만큼 곱해주면 합이 나온다.가우스식 덧셈이란?
A부터 B까지 정해진 범위의 숫자들의 합을 구하려면(A와 B의 합) * (A부터 B까지 숫자의 개수) / 2의 공식을 이용하면 된다. 이때 A부터 B까지 숫자의 개수가 홀수일때는 가운데 숫자가 하나 남으므로(A와 B의 합) / 2를 더해주면 된다.
import java.io.*;
import java.util.StringTokenizer;
public class Main5 {
public static void main(String[] args) throws IOException {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bfr.readLine(), " ");
long X = Long.parseLong(st.nextToken());
long Y = Long.parseLong(st.nextToken());
long A = Math.min(X, Y);
long B = Math.max(X, Y);
long sum = (A + B) * ((B - A + 1) / 2);
if((B - A) % 2 == 0) {
sum += (A + B) / 2;
}
bfw.write(String.valueOf(sum));
bfr.close();
bfw.flush();
bfw.close();
}
}


min, B를 max로 생각해서 풀었더니 틀렸던 것이었다 ㅜㅜMath.max(X, Y)과 Math.min(X, Y)를 이용해서 min과 max를 구하고 계산하도록 했더니 맞았다(^^)