- 数列の公式を当てはめるだけ
- 正負で式が微妙に変わる点に注意する
- 正負で分けずに解く方法もあったはず・・・
ll myabs(ll i) {
return i >= 0 ? i : -i;
}
ll calc(ll i) {
const ll sign = i / myabs(i);
i = myabs(i);
const ll value = (i * (i + 1)) / 2;
return sign * value;
}
int main() {
int N;
cin >> N;
for (int caseIndex = 1; caseIndex <= N; ++caseIndex) {
ll n, m;
cin >> n >> m;
ll answer;
if (n >= 0 && m >= 0) {
answer = m * (m + 1) / 2 - n * (n - 1) / 2;
} else if (n < 0 && m >= 0) {
answer = m * (m + 1) / 2 - n * (n - 1) / 2;
} else {
answer = m * (m + 1) / 2 - n * (n - 1) / 2;
}
printf("Scenario #%d:\n%lld\n\n", caseIndex, answer);
}
}