36pts,后5#WA,求调
查看原帖
36pts,后5#WA,求调
1341011
mmnBilibili楼主2024/11/22 22:16

自认为和题解大差不差,但是只有36分,求调。

#include<bits/stdc++.h>
#define int long long
#define map lis

using namespace std;

int n,k;
int map[100100][5];
int l=1,r=n+20;
int maxn=-1;
bool check(int x){
	int s=0;
	for(int i=1;i<=n;i++){
		int a,b;
		a=map[i][1]/x;
		b=map[i][2]/x;
		s+=a*b;
	}
	if(s>=k) return true;
	return false;
}

signed main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>map[i][1]>>map[i][2];
	while(l<r){
		int mid=(l+r+1)/2;
		if(check(mid)){
			l=mid;
		}
		else{
			r=mid-1;
		}
	}
	cout<<l;
	return 0;
}
2024/11/22 22:16
加载中...