Computer Science/Algorithm Problem

백준] 2355 - 시그마

TwinParadox 2018. 1. 7. 16:28
728x90

시간 제한 : 2초

메모리 제한 : 128MB




입력

첫째 줄에 두 정수 i, j가 주어진다. 두 정수는 VC에서의 signed int 범위 안에 들어간다.




출력

첫째 줄에 답을 출력한다. 답은 VC에서의 signed int 범위 안에 들어간다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	long long i, j;
	cin >> i >> j;
	if (j >= i)
		cout << (j - i + 1)*(i + j) / 2;
	else
		cout << (i - j + 1)*(i + j) / 2;
}




Tip

여기서 signed int, 음수도 존재 가능함과 i와 j가 오름차순이 아닐 수 있음을 인지해야 한다. 흔히 실수할 수 있는 부분이다. 이는 반복문으로 해결할 수 없고, int 자료형으로 담을 수 없는 경우가 있다. 수학적 계산으로 정리하면 쉽게 해결할 수 있다.

728x90