백준 20301 반전 요세푸스

정확히 말하면 n^2으로 안짠건 맞음.. 정해가 아니란거 아는데 그냥 무식하게 짠것도 맞음..

k,m < n = 5000

1. 배열에 1~5000(n) 까지 숫자넣음
2. k번 이동 (반전이 아니면 +1, 반전이면 -1), 방문한 위치가 이미 지워진 숫자면 노카운트
3. k번 이동 후 도착한 곳이 지워진 곳이면 +1 하면서 안 지운 숫자일 때까지 증가
4. 배열의 범위가 넘어가면 위치를 1로 수정, 1보다 작아지면 (반대로 돌때) n으로 이동

생각한건
숫자를 i번 지울때 최대 이동 = k번 이동하는데, 이동하는 구간에 지운 숫자가 i-1개 존재하면 추가로 i-1번 이동하므로 k+i-1
k가 5000이면 처음 숫자 지울때 5000, 그 다음 5001, 5002.... 마지막은 9999 니까
대충 O(n) = 3700만 이고,  생각 못한 곳에서 추가되는 시간까지 해도 5천만 언저리겠지 해서 제출함
pypy랑 python3는 둘 다 시간 초과 c++은 350ms 나옴

솔직히 정해, 뭔가 공식이 있을거란 생각은 했는데 안 떠오르기도 했고
그냥 무식하게 싹 다 체크하면서 해도 시간 되겠는데? 싶어서 제출했는데 안되더라...