1 条题解

  • 1
    @ 2025-1-13 15:17:05
    #include<bits/stdc++.h>
    using namespace std;
    int f(int a){
    	int c=a,x=0,y=a;
    	while(true){
    		if(y<3){
    			return c;
    		}
    		x=y/3;
    	    y-=x*3;
    		y+=x;
    		c+=x;
    	}
    }
    int main(){
    	int n;
    	cin>>n;
    	int l=1,r=1e9; 
    	while(l<=r){
    		int mid=(l+r)/2;
    		if(f(mid)<n){
    			l=mid+1;
    		}
    		else{
    			r=mid-1;
    		}
    	}
    	cout<<l;
    	return 0;
    }
    

    信息

    ID
    4645
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    12
    已通过
    10
    上传者