萌新不懂求组第一个点WA。。。为啥不对啊这个二分
查看原帖
萌新不懂求组第一个点WA。。。为啥不对啊这个二分
123168
王宏宇11楼主2021/10/25 23:01
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath> 
using namespace std;
int main()
{long long l=1,r,mid=0,n,m;
scanf("%lld%lld",&n,&m);
if(pow(1,m)>n)
 {printf("0");
  return 0;
 }
if(m==1) 
 {printf("%lld",&n);
  return 0;
  } 
r=n;
while(l<=r)
  { mid=(l+r)/2;
   if(pow(mid,m)<=n)
      {l=mid+1;
       //mid=(l+r)/2;
	  }
     //if(pow(mid,m)>=n)
      else
	  {r=mid-1;
	   //mid=(l+r)/2; 
	  }
	
  }
printf("%lld",l-1);
return 0;
}

(虽然不知道为啥我下载不了数据,看不到下载数据的按钮。。。不过用鼠标移过去看到第一个点答案是0,就特判了一下还是不对,是为什么呀)

2021/10/25 23:01
加载中...