zoukankan      html  css  js  c++  java
  • Multiplication Table

    Description

    Bizon the Champion isn't just charming, he also is very smart.

    While some of us were learning the multiplication table, Bizon the Champion had fun in his own manner. Bizon the Champion painted ann × m multiplication table, where the element on the intersection of the i-th row and j-th column equals i·j (the rows and columns of the table are numbered starting from 1). Then he was asked: what number in the table is the k-th largest number? Bizon the Champion always answered correctly and immediately. Can you repeat his success?

    Consider the given multiplication table. If you write out all n·m numbers from the table in the non-decreasing order, then the k-th number you write out is called the k-th largest number.

    Input

    The single line contains integers nm and k (1 ≤ n, m ≤ 5·105; 1 ≤ k ≤ n·m).

    Output

    Print the k-th largest number in a n × m multiplication table.

    Sample Input

    Input
    2 2 2
    
    Output
    2
    
    Input
    2 3 4
    
    Output
    3
    
    Input
    1 10 5
    
    Output
    5
    

    Hint

    2 × 3 multiplication table looks like this:

    1 2 3
    

    2 4 6

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	__int64 n,m,k;
    	scanf("%I64d%I64d%I64d",&n,&m,&k);
    	__int64 l=1,r=n*m;
    	while(l<=r)
    	{
    		__int64 mid=(l+r)/2;
    	    __int64 sum=0;
    		for(__int64 i=1;i<=n;i++)
    		{
    			sum+=min(m,mid/i);
    		}
    		if(sum>=k)
    		{
    			r=mid-1;
    		}
    		else
    		{
    		    l=mid+1;
    		}
    	}
    	printf("%I64d",l);
    	return 0;
    }


  • 相关阅读:
    HDOJ2553 N皇后问题
    NYOJ284 坦克大战 BFS/优先队列
    NYOJ14 会场安排问题 贪心
    POJ1664 放苹果
    NYOJ119 士兵杀敌(三) RMQ
    POJ3264 Balanced Lineup RMQ/线段树
    POJ1127 Jack Straws
    HDOJ1128 Self Numbers
    水晶报表CrystalReports很强大也很简单!
    PetShop项目学习笔记(三)
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027120.html
Copyright © 2011-2022 走看看