ACL Contest 1 - Sum is Multiple

問題リンク

解説

式変形すると

 k(k+1) = 2n

となります。kk +1は互いに素であるので、 2nの素因数をk k+1のどちらかに押し付けます

あとは拡大ユークリッド互除法を用いれば、差が1でかつ最小になるようなものを求められます

提出コード

atcoder.jp