백준 c++ 2828 사과 담기 게임

jaranda·2022년 6월 24일

2828 사과 담기 게임



문제풀이

#include <iostream>
#include <vector>
using namespace std;
void fast_io(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
}
int cnt, m, n,apples,app,forM;
int main(void)
{
	fast_io();
	cin >> n >> m;
	if(m>1)
		forM = m - 1; //바구니 크기가 1보다 클경우
	cin >> apples;
	for (int i = 0; i < apples; i++)
	{
		cin >> app;//사과가 떨어지는 위치
        		   //m 현재 바구니 위치
		if(m-forM<=app && app<=m) //바구니 범위내 값 체크
			continue;
		else if(m<app) 
		{
			cnt += app - m;
			m += app - m;
		}
		else if(app<m)
		{
			cnt += m - app-forM;
			m -= m - app-forM;
		}
	}
	cout << cnt;
}

바구니 크기가 1보다 클 경우를 체크 한 뒤, 범위내에 있을때와 작은수로 이동할때 체크한 값을 활용했다.

profile
자라는 개발자

0개의 댓글