온라인저지
[BOJ] 2355번: 시그마
plzfday
2018. 5. 26. 17:50
풀이
a≤ba \le b일 때…
∑i=abi=(b−a+1)(a+b)2\sum_{i=a}^b i = \frac{(b - a + 1)(a + b)}{2}
입력으로 int 범위 a, b가 주어지지만 분자 계산 부분에서 int 범위를 벗어나기 때문에 그것만 잘 신경 써주면 된다.
코드
#include <cstdio>
long long swap(long long &a, long long &b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
int main()
{
long long a, b;
scanf("%lld %lld", &a, &b);
if (a > b)
swap(a, b);
printf("%lld\n", (b - a + 1) * (a + b) / 2);
return 0;
}