Official
B - Setsubun Editorial
by
別解
B - Setsubun Editorial
by
physics0523
別解
必要な年数で二分探索することで、 \(N,K\) がより大きな場合でもこの問題を解くことが出来ます。
実装例 (C++):
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
ll n,k;
cin >> n >> k;
ll lef=0,rig=1e9;
while(lef<=rig){
ll mid=(lef+rig)/2;
ll cur=((n+(n+mid))*(mid+1))/2;
if(cur<k){lef=mid+1;}
else{rig=mid-1;}
}
cout << lef << "\n";
return 0;
}
posted:
last update:
