https://www.acmicpc.net/problem/1011
#include <iostream>
using namespace std;
int main() {
int n;
scanf("%d",&n);
long long *T_case = new long long[n];
long long a, b;
for (int i = 0; i < n; i++) {
scanf("%d %d", &a, &b);
T_case[i] = b - a;
}
long long cnt = 0;
long long max_dis = 0;
for (int i = 0; i < n; i++) {
while (max_dis < T_case[i]) {
cnt++;
if (cnt % 2 == 1)
max_dis = (cnt-1) * (cnt + 1) / 4 + (cnt + 1) / 2;
else
max_dis = cnt*(cnt + 2) / 4;
}
printf("%d\n", cnt);
max_dis = 0;
cnt = 0;
}
}
'Programming > BaekJoon' 카테고리의 다른 글
[C] 백준 10182번 : 개 (0) | 2019.02.20 |
---|---|
[C++] 백준 2442번 : 별 찍기 - 5 (0) | 2019.02.20 |
[C++] 백준 1010번 : 다리 놓기 (0) | 2019.02.20 |
[C++] 백준 1676번 : 팩토리얼 0의 개수 (0) | 2019.02.19 |
[C++] 백준 4344번 : 평균은 넘겠지 (0) | 2019.02.19 |