쿨타임: 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 |