본문 바로가기

코딩

백준 28173 c++

쿨타임: l~r초

마주치는 주기 :b초

죽여야하는 거위 마릿수: k마리

 

다 맞는 최솟값을 구하는 문제이다.

 

 

예제 1

 

 

 

 

 

예제 2

 

 

b초마다 마주치고 쿨타임이 찼을때마다 하나씩 k를 올리면 될거같다.

 

 

b초의 쿨타임이 마주치는것보다 작을경우 쿨타임은 상관없으니 마주칠때마다 죽이면댐 (k를 올림)

 

b초의 쿨타임이 마주치는 것보다 클경우 쿨타임의 최솟값마다 죽이면댐(k를 올림)

 

r초 쿨타임이 있고 b초마다 마주치면  언제 b초일때 빨리 만나는지를 계산

쿨타임이 42고

 

20초마다 등장한다면

 

42초를 넘는 20의 배수를 찾으면댐

for문도 좋지만 잘 생각이 안나니까

 

42%20을 한 값이 0~19면

 

아닌데

 

 

42 / 20 을 하면 2가 나온다. 여기에 +1을 하면 3이다

21/20 을 하면 1이 나오고 +1을 하면 2다

나온 몫에 +1을 하면되는거같은데/

 

 

 

 

내가 짠 코드

#include <iostream>
using namespace std;
int main() {

 

int l,r,b,k;
int ans = 0;
int minmeet = 0;
cin >>l>>r>>b>>k;
 
minmeet =r/b+1;
if(r<=b)
{
ans= b*k;
}
else{
ans = minmeet;
}
cout<<ans;
}

 

 

이렇게 했는데 일단 잘 모르겠다 출력이상함

 

------------------자야겠다------------

'코딩' 카테고리의 다른 글

백준 2798 c++  (0) 2023.07.01
백준 9372 c++  (0) 2023.06.30
백준 28239 c++  (0) 2023.06.21
백준 2745번 c++  (0) 2023.06.20
백준 10810 c++  (0) 2023.06.19