본문 바로가기
Programming/Algorithm

백준 행성 이동

by OKOK 2018. 1. 25.

#include <iostream>

#include <algorithm>

#include <cstring>


using namespace std;


int bruteForce(long long remaining, int speed) {

int ret = 0;

while (remaining > 0) {

if (remaining > speed * 2)

{

ret += 2;

remaining -= speed * 2;

speed++;

}

else {

int quotient = remaining / speed;

remaining -= quotient * speed;

ret += quotient;

speed--;

}

}


return ret;

}


int main()

{

int cases;

cin >> cases;

for (int i = 0; i < cases; i++) {

long long x, y;

cin >> x >> y;

cout << bruteForce(y - x, 1) << endl;

}

return 0;

}


정답에 대한 수열을 얻었음에도 풀지 못했는데... 이것을 어떻게 다시 접근해야하지, 내일 다시 한번 풀어보도록 하겠습니다.