为何右区间减左区间就是会有错呢,for循环就不会
查看原帖
为何右区间减左区间就是会有错呢,for循环就不会
257318
BugManMax楼主2024/5/13 11:11
#include <iostream>
#include<cmath>
using namespace std;

int main() {
	int n,m,p=0;
	cin>>n>>m;
	int a;
	double l=0;
	double r=1e9;
	for(int i=1;i<=n;i++){
		cin>>a;
		l = max(l,(double)m/(a*i));
		r = min(r,(double)m/((a-1)*i));
	}
	if(r==1e9){
		cout<<"xiaogougege";
		return 0;
	}
//	if(floor(r)<r){
//		cout<<int(floor(r))-int(ceil(l))+1;
//	}else{
//		cout<<int(floor(r))-int(ceil(l));
//	}
	for(int i=ceil(l);i<r;i++){
		p++;
	}
	cout<<p;
	return 0;
}
2024/5/13 11:11
加载中...