60求助
  • 板块B3629 吃冰棍
  • 楼主mouyun
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/18 22:57
  • 上次更新2023/11/2 12:56:18
查看原帖
60求助
632085
mouyun楼主2023/10/18 22:57

求救,60分,不知道哪错了

#include<bits/stdc++.h>
using namespace std;

long long n,ans;

int check(int num){
	int zong=0;
	while(num>=3){
		int a;
		a=num/3;
		zong+=a*3;
		num-=a*3;
		num+=a;
	}
	zong+=num;
	return zong;
}

int main(){
	cin>>n;
	int l=1,r=n,mid;
	while(l<=r){
		mid=(l+r)/2;
		int s=check(mid);
		if(s>n){
			r=mid-1;
		}
		else if(s<n){
			l=mid+1;
		}
		else{
			cout<<mid;
			return 0;
		}
	}
	
	
	return 0;
}
2023/10/18 22:57
加载中...