고개를 돌려야 하는 게 문제였다.
하지만 코드가 짧다
우선 r이 맞다.
이것이 올바른 기준이다.
그런 다음 l은 분명히 왼쪽 기준을 나타냅니다.
그래서 l을 기본값으로 하고 l+m-1을 실행하면 오른쪽이 나옵니다.
다른 문제에도 비슷한 종류가 많을 것 같으니 외워두자.
using namespace std;
int n, m, j, r, l, temp,ret;
int main()
{
cin >> n >> m >> j;
l = 1;
for (int i = 0; i < j; i++)
{
cin >> temp;
r = l + m - 1;
if (temp >= l && temp <= r) continue;
else
{
if (l > temp)
{
ret += (l -temp);
l = temp;
}
else
{
l += (temp - r);
ret += (temp - r);
}
}
}
cout << ret << endl;
}