#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repi(i, a, b) for (int i = (int)(a); i < (int)(b); i++)
using namespace std;
int my_ceil(int a, int b){
return (a + b - 1) / b;
}
int main(){
int N, D;
cin >> N >> D;
cout << my_ceil(N, (2 * D + 1)) << endl;
}
別解
入力を小数で受け取って天井関数を利用する方法です。
#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repi(i, a, b) for (int i = (int)(a); i < (int)(b); i++)
using namespace std;
int main(){
float N, D, a;
cin >> N >> D;
a = N / (2 * D + 1);
cout << a << endl;
cout << ceil(a) << endl;
}
コメント