알고리즘/BOJ
[C++] 백준 2869번 달팽이는 올라가고 싶다
Jay, Lee
2021. 4. 4. 19:22
이 문제는 시간제한이 있는 문제이다
처음에는 당연히 while 문을 써서 풀었는데 시간초과가 나왔다.
시간 복잡도를 생각하면 O(n)이 되어야 하니까
잘만 생각해보면 이런 알고리즘(?)으로 나타낼 수 있다.
#include <iostream>
using namespace std;
int main() {
int a, b, v;
cin >> a >> b >> v;
int distance = 0;
int day;
if ((v - a) % (a - b) == 0) {
day = (v - a) / (a - b);
}
else {
day = (v - a) / (a - b) + 1;
}
cout << day + 1 << "\n";
return 0;
}