정말 단순해 보이는 문제지만 생각해볼게 많은 문제이다.
첫째로 두 정수 A와 B가 1부터 10의 15승까지의 범위를 가진다.
따라서 int형으로는 두 정수를 담을수가 없다.
int형은 최대 대략 21억까지 담을 수 있으며 이를 초과하면 overflow가 발생하게 된다.
따라서 더 많은 범위의 수를 담을 수 있는 long long 자료형을 사용해야한다.
둘째로 B가 반드시 A보다 크다는 보장이 없으므로 모든 경우의 수를 다 생각해야한다.
A가 B보다 큰 경우의 수, A와 B가 같은 경우의 수, A가 B보다 작은 경우의 수를 생각하면 된다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long A, B;
cin >> A >> B;
if (A > B)
{
std::swap(A, B);
}
if (A < B)
{
printf("%lld\n", B - A - 1);
for (long long i = A + 1; i < B; i++)
printf("%lld ", i);
}
else
printf("0");
}