ABC056

――――――――――――――――――――――――

問題文
無限に左右に伸びている数直線上の0の地点に時刻0にカンガルーがいます。 カンガルーは時刻i−1からiにかけて、なにもしないか、もしくは長さがちょうどiのジャンプを、左右どちらかの方向を選んで行えます。 つまり、時刻
i−1に座標xにいたとすると、時刻iにはx−i,x,x+iのどれかに存在することが出来ます。 カンガルーの家は座標Xにあります。カンガルーはできるだけ早く座標Xまで移動しようとしています。 カンガルーが座標
Xに到着する時刻の最小値を求めてください。

制約
Xは整数1≦X≦10^9

――――――――――――――――――――――――

ずっと右にジャンプさせれば、最短でXにたどり着けるから、ひたすらiを足していく…。なんかあじけないけどOK!

#include <bits/stdc++.h>
using namespace std;

int main() {
 int x; cin >> x;
 
 int ans=0;
 int d = 0;
 while(x>d){
   ans++;
   d += ans;
 }
 cout << ans << endl;
}