#include <bits/stdc++.h>
using namespace std;
long long n, h;
bool func(long long val) {
  long long mini = val;
  long long maxi;
  if (val <= h) {
    maxi = (val * (val + 1)) / 2;
    if (n >= mini && n <= maxi) {
      return 1;
    }
    return 0;
  }
  long long temp = val + h;
  long long temp2 = temp / 2;
  maxi = temp2 * (temp2 + 1);
  maxi -= (h * (h - 1)) / 2;
  if (temp % 2 == 0) {
    maxi -= temp2;
  }
  if (n >= mini && n <= maxi) {
    return 1;
  }
  return 0;
}
void bs(long long start, long long last, long long &ans) {
  if (start > last) return;
  long long mid = (start + last) / 2;
  if (func(mid)) {
    ans = min(ans, mid);
    bs(start, mid - 1, ans);
  } else {
    bs(mid + 1, last, ans);
  }
}
int main() {
  cin >> n >> h;
  long long ans = 5e18;
  long long temp = 2e9;
  bs(1, min(n, temp), ans);
  cout << ans;
}
