#4 #7 TLE
我的代码:
#include <bits/stdc++.h>
using namespace std;
int n;
int calc(int x) {
int total = x;
while(x >= 3) {
total++;
x -= 2;
}
return total;
}
int main() {
int l, r, mid, ans;
scanf("%d", &n);
l = 1; r = n;
ans = r;
while(l <= r) {
mid = (l + r) / 2;
if(calc(mid) >= n) {
ans = mid;
r = mid - 1;
} else
l = mid + 1;
}
printf("%d\n", ans);
return 0;
}
求解