Submission
Status:
[P][P][P][P][P][P][P][PP][PP][PP]
Subtask/Task Score:
{10/10}{10/10}{10/10}{10/10}{10/10}{10/10}{10/10}{10/10}{10/10}{10/10}
Score: 100
User: meme_boi2
Problemset: แปลงดอกไม้
Language: cpp
Time: 0.004 second
Submitted On: 2025-06-15 11:48:32
#include <bits/stdc++.h>
using namespace std;
#define int long long
int k, n;
bool think(int mid){
if(((k*mid)*(k*mid+1))/2 == n ){
cout << mid;
exit(0);
}
return (((k*mid)*(k*mid+1))>>1) <= n;
}
int32_t main(){
cin.tie(nullptr)->sync_with_stdio(0);
cin >> k >> n;
if(k == 1 && n == 1){
cout << 1 << '\n';
return 0;
}
int l = 1, r = n;
while(l <= r){
int mid = (l+r)>>1;
if(think(mid)){
l = mid + 1;
}else{
r = mid - 1;
}
}
cout << l;
}