1 条题解

  • 0

    很明显的二分

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    
    int n,m,ans;
    
    bool Check(int x)
    {
    	int sum=pow(x,m);
    	if(sum<=n)return 1;
    	return 0;
    }
    
    signed main()
    {
    	cin>>n>>m;
    	int l=1,r=n;
    	while(l<=r)
    	{
    		int mid=(l+r)>>1;
    		if(Check(mid))
    		{
    			ans=mid;
    			l=mid+1;
    		}
    		else
    		{
    			r=mid-1;
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    • 1

    信息

    ID
    3168
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    38
    已通过
    7
    上传者