문제: https://www.acmicpc.net/problem/1011
마지막 단계에서는 속도가 1이어야 되기 때문에 속도가 올라갈 때 마다 속도를 줄일 구간을 생각해서 풀면 간단하게 풀 수 있는 문제네요.
my solving
c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <fstream> #include <iostream> #include <algorithm> #include <cstring> using namespace std; typedef long long ll; int bruteForce(ll 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++) { ll x, y; cin >> x >> y; cout << bruteForce(y - x, 1) << endl; } return 0; } | cs |
'Algorithm, Data structure > Solved Algorithmic Problem' 카테고리의 다른 글
BAEKJOON 1012 - 유기농 배추 (0) | 2016.07.26 |
---|---|
BAEKJOON 1013 - Contact (0) | 2016.07.24 |
BAEKJOON 1010 - 다리 놓기 (0) | 2016.07.23 |
BAEKJOON 1009 - 분산처리 (0) | 2016.07.23 |
BAEKJOON 1008 - A/B (0) | 2016.07.23 |