본문 바로가기

코딩테스트/C++

백준 시간복잡도 7_24313번 C++

 

 

내가 처음에 잘못 생각했던 코드

#include <iostream>

using namespace std;

int main() {
	int a1, a0, c, n0, f, g;
	cin >> a1 >> a0 >> c >> n0;
	/*
	if (a1 < 0) {
		a1 = -a1;
	}

	if (a0 < 0) {
		a0 = -a0;
	}
	*/
	int ans = 0;
	for (int n = n0; n < 101; n++) {
			
		f = (a1 * n) + a0;
		g = n;
			
		if (f <= c * g && c>a1) {
			ans = 1;
		}
		else {
			ans = 0;
			return 0;
		}
	}
	cout << ans;
}

 

올바른 정답↓

#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 << endl;
    else
        cout << 0 << endl;
 
    return 0;
}