很不错的二分题目:因为我都不知道这是一道二分题目
在第i行里面:i  1, i  2, i  3, i  4, i  5, ......
如果我要这这一行里面求比 小于等于x 的个数:那么答案是 min(,m). 
那么就可以O(n)求出这nm里面有多少个小于等于x的个数!
然后二分即可
总代码:
#include<bits/stdc++.h>
using namespace std;

#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define HelloWorld IOS;


int n, m, k;


bool check(int x){
    int cnt = 0;
    for(int i = 1; i <= n; i ++){
        cnt += min(m, x / i);
    }
    if(cnt >= k) return true;
    else return false; 
}
signed main(){
    HelloWorld;
    
    cin >> n >> m >> k;
    int l = 1, r = n * m, ans = 1;
    while(l <= r){
        int mid = (l + r) / 2;
        if(check(mid)){
            ans = mid;
            r = mid - 1;
        }
        else l = mid + 1;
    }
    cout << ans << endl;
    return 0;
}