题意:谷仓开始有n个稻谷,然后每天会补充m个,然后晚上麻雀就会吃掉i个(第i天),如果谷仓是满的话,就无法补充。问第几天麻雀会吃完?
然后开始想直接暴力,因为n,m都是1e18,然后就会超时。、
当n>m的时候,则第m天,就开始内耗了(稻谷开始小于n)
当n
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define maxn 2e9
int main()
{
long long n,m,ans=0;
scanf("%I64d %I64d",&n,&m);
long long temp=n;
ans=min(n,m);
temp=temp-ans;
long long l=0,r=maxn,mid;
while(r>l+1)
{
mid=(r+l)/2;
if(mid*(mid+1)/2<=temp)
l=mid;
else if(mid*(mid+1)/2>temp)
r=mid;
}
if(l*(l+1)/2<temp)
l++;
cout<<l+ans<<endl;
cout<<2e9<<endl;
cout<<0x3f3f3f3f<<endl;
return 0;
}