其他分享
首页 > 其他分享> > 【2019秋招刷题】牛客:分贝壳

【2019秋招刷题】牛客:分贝壳

作者:互联网

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
using namespace std;
int main()
{
	long long n;
	cin>>n;
	long long m = n/10;
	long long low = 1,high= m;
	long long mid = 1;	
	while(low < high)
	{
		mid = (low + high)/2;
		long long residue = n;
		unsigned long long nocow = 0;
		while(residue > 0)
		{
			if(residue > mid)
			{
				residue -= mid;
				nocow += mid;
			}
			else
			{
				nocow += residue;	
				residue -= residue;
			}
			residue -= (residue/10);
		}
		if(nocow > n/2)//应该调小
		{
			high = mid;
		}
		else if(nocow < n/2)//应该调大
		{
			low = mid+1;
			mid++;
		}
		else
		{
			cout<<mid<<endl;
			break;
		}
	}
	if(low == high)
		cout<<mid<<endl;
	return 0;
}

标签:residue,10,妞妞,贝壳,招刷题,mid,long,牛客,2019
来源: https://blog.csdn.net/C2681595858/article/details/100607054