ABC056: C - Go Home
問題
C: Go Home - AtCoder Beginner Contest 056 | AtCoder
解答
全てを選択して進み、のときに位置がはじめて以上となるとする。 である。であるので、より小さいある1以上の整数だけを超過している。 和には、からまでの全ての整数を一度だけ用いているので、帳尻を合わせるために途中で1回留まることができる。
int main() { ll X; cin >> X; for (int i = 1; ; i++) { if (2 * X <= i * (i + 1)) { // auto K = i * (i + 1) / 2; // assert(K - X < i); std::cout << i << "\n"; return 0; } } return 0; }