1. 문제 상세
https://www.acmicpc.net/problem/24313
2. 문제 접근
a1, a0, c, n0 을 입력받고 각 수식을 비교하고 결과를 출력.
a1 * n + a0 값이 c * n 값보다 작거나 같으면 1을, 아니라면 0을 출력한다.
여기서 주의할 사항이 있다.
만약 a0 가 음수가 되는 경우, n0 에서는 조건이 성립하지만 다른 n 의 경우에 위의 조건이 성립되지 않는 경우가 있다.
a1 = 5, a0 = -4, c = 3, n0 = 1 이라고 가정하자.
5n - 4 ≤ 3n 에서 n0 가 1이고 1 ≤ 3 이므로 식이 성립한다.
하지만 n 이 3이 된다면 11 ≤ 9 가 되어서 조건이 성립하지 않게 된다.
따라서 a0 가 음수인 경우에 a1 *n 가 c * n 보다 항삭 작거나 같도록 a1 이 c 보다 작거나 같은 조건을 추가하자.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int a1, a0, c, n0;
cin >> a1 >> a0 >> c >> n0;
if (a1 * n0 + a0 <= c * n0 && a1 <= c) cout << 1;
else cout << 0;
}
정수형 변수 a1, a0, c, n0 를 선언한다.
cin 으로 정수를 입력받아 각각 a1, a0, c, n0 에 저장한다.
if문으로 a1 * n + a0 의 값이 c * n 의 값보다 작거나 같고, a1 이 c 보다 작거나 같다면 1을 출력한다.
아니라면 0을 출력한다.
4. 성능 확인
5. 마무리
.
'백준 - 단계별로 풀어보기 > 시간 복잡도' 카테고리의 다른 글
[백준] 24267번 : 알고리즘 수업 - 알고리즘의 수행 시간 6 | C++ (0) | 2023.10.27 |
---|---|
[백준] 24266번 : 알고리즘 수업 - 알고리즘의 수행 시간 5 | C++ (0) | 2023.10.27 |
[백준] 24265번 : 알고리즘 수업 - 알고리즘의 수행 시간 4 | C++ (0) | 2023.10.27 |
[백준] 24264번 : 알고리즘 수업 - 알고리즘의 수행 시간 3 | C++ (0) | 2023.10.26 |
[백준] 24263번 : 알고리즘 수업 - 알고리즘의 수행 시간 2 | C++ (0) | 2023.10.26 |