자라는 개발자/문제풀이

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

자란다 2022. 6. 24. 20:38
728x90
반응형

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보다 클 경우를 체크 한 뒤, 범위내에 있을때와 작은수로 이동할때 체크한 값을 활용했다.

728x90
반응형

'자라는 개발자 > 문제풀이' 카테고리의 다른 글

백준 c++ 12845 모두의 마블  (0) 2022.06.26
백준 c++ 3135 라디오  (0) 2022.06.25
백준 c++ 11292 키 큰 사람  (0) 2022.06.07
백준 c++ 16212 정열적인 정렬  (0) 2022.06.06
백준 c++ 20291 파일정리  (0) 2022.06.05