zoukankan      html  css  js  c++  java
  • 【二分】Codeforces Round #404 (Div. 2) C. Anton and Fairy Tale

    当m>=n时,显然答案是n;

    若m<n,在第m天之后,每天粮仓减少的量会形成等差数列,只需要二分到底在第几天,粮仓第一次下降到0即可。

    若直接解不等式,可能会有误差,需要在答案旁边扫一下。

    注意二分上界的确定,不能太小也不能太大。

    #include<cstdio>
    #include<iostream>
    using namespace std;
    typedef long long ll;
    ll n,m;
    int main(){
    	cin>>n>>m;
    	if(m>=n){
    		cout<<n<<endl;
    		return 0;
    	}
    	ll S=n-m;
    	ll l=1,r=2000000000ll;
    	while(l<r){
    		ll mid=(l+r)/2ll;
    		if(mid*mid+mid>=S*2ll){
    			r=mid;
    		}
    		else{
    			l=mid+1;
    		}
    	}
    	cout<<m+l<<endl;
    	return 0;
    }
  • 相关阅读:
    RabbitMQ管理
    vc6.0
    SystemTap
    undefined reference to `__imp_socket'
    采集小板校时
    点播播放不出来
    抓包注意事项
    下载rfc
    CLion快捷键
    rtsp vlc请求实例
  • 原文地址:https://www.cnblogs.com/autsky-jadek/p/6561779.html
Copyright © 2011-2022 走看看