解析:
本题和 Problem - 448D - Codeforces 这题基本完全相同,可参考1800*D. Multiplication Table(二分+数学)_陈进士学习的博客-CSDN博客
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5e5+5;
ll n,m,k;
bool check(ll x){
ll res=0;
for(int i=1;i<=n;i++){
res+=min(m,x/i);
}
return res>=k;
}
int main(){
scanf("%lld%lld%lld",&n,&m,&k);
k=n*m-k+1;
ll l=1,r=n*m;
while(l<r){
ll mid=l+r>>1;
if(check(mid)) r=mid;
else l=mid+1;
}
printf("%lld",l);
return 0;
}