#include <bits/stdc++.h>
#define int long long
using namespace std;
int a[200005];
int n,t;
int check(int x){
	int sum=0;
	for(int i=1;i<=n;i++){
		sum=sum+(x/a[i]);
		if(sum>=t)return true; 
	}
	if(sum>=t)return true;
	else return false;
}
signed main (){
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int l=0;
	int r=1e17+1;
	while(l+1<r){
		int mid=(l+r)/2;
		if(check(mid)){
			r=mid;
		}else{
			l=mid;
		}
	}
	cout<<r;
	return 0;
}

1 条评论

  • @ 2026-5-21 20:54:28

    r的值极限不够大 要考虑清楚!

    自己思考一下

    • 1

    信息

    ID
    192
    时间
    ms
    内存
    MiB
    难度
    3
    标签
    递交数
    42
    已通过
    10
    上传者