문제 링크: https://www.acmicpc.net/problem/1173
안되는 조건부터 생각해봅시다. M-m < T일때 운동을 절대 못하죠 그래서 이때 -1을 출력해줍니다
그 다음엔 그냥 구현하면 됩니다
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int N, m, M, T, R;
cin >> N >> m >> M >> T >> R;
if (M - m < T) {
cout << -1 << '\n';
return 0;
}
int turn;
int workout;
int x = m;
for (turn = 0, workout = 0;
workout < N;
++turn) {
if (x + T <= M) {
x += T;
++workout;
}
else {
x = max(x-R, m);
}
}
cout << turn << '\n';
return 0;
}
반응형
'Online Judge > 백준' 카테고리의 다른 글
[백준][C++] 18891: 제21대 국회의원 선거 (0) | 2020.07.29 |
---|---|
[백준][C++] 1007: 벡터 매칭 (0) | 2020.07.28 |
[백준][C++] 9935: 문자열 폭발 (0) | 2020.07.27 |
[백준][C++] 2468: 안전 영역 (0) | 2020.07.26 |
[백준][C++] 1059: 수2 (0) | 2020.07.26 |