Computer/Coding Test
2828 : 사과 담기 게임
안녕도라
2024. 2. 13. 17:15
https://www.acmicpc.net/problem/2828
2828번: 사과 담기 게임
상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M<N) 플레이어는 게임을 하는 중에 바구니를
www.acmicpc.net
문제요약
랜덤하게 떨어지는 사과를 받기 위한 바구니의 최소 이동 거리
난이도
Silver 5
풀이 포인트
- 개수 , 길이, 이동 카운트 꼼꼼히 체크
REVIEW
바구니의 끝과 시작을 떨어지는 사과 위치와 비교해서 좌우 이동한다는 아이디어.
바구니의 끝점 인덱스는 시작점 + 바구니 길이 -1 이란 것도 체크.
근데 왜 내 코드가 틀린 건지 분석중.
CODE
#include <bits/stdc++.h>
using namespace std;
int n, m, j, l, r, temp, ret;
int main()
{
cin >> n >> m >> j;
l = 1;
for (int i = 0; i < j; i++)
{
r = l + m - 1;
cin >> temp;
if (temp >= l && temp <= r)
continue;
else
{
if (temp < l)
{
ret += (l - temp);
l = temp;
}
else
{
l += (temp - r);
ret += (temp - r);
}
}
}
cout << ret << "\n";
return 0;
}