Codeforces Round #256 (Div. 2) D. Multiplication Table(二分查找)
2014-07-19 15:11
477 查看
转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents
题目链接:http://codeforces.com/contest/448/problem/D
D. Multiplication Table
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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 n, m 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 test(s)
input
output
input
output
input
output
Note
A 2 × 3 multiplication table looks like this:
题目意思是,从一个n*m的乘法表(不要问我乘法表是什么)中选出第k小数(相同的数字会计算多次)。
比如样例 2 3 4
乘法表为
1 2 3
2 3 4
非减序列是:1, 2, 2, 3, 3, 4。第4个数字是3,所以输出3。
代码如下:
题目链接:http://codeforces.com/contest/448/problem/D
----------------------------------------------------------------------------------------------------------------------------------------------------------
欢迎光临天资小屋 :http://user.qzone.qq.com/593830943/main
----------------------------------------------------------------------------------------------------------------------------------------------------------
D. Multiplication Table
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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 n, m 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 test(s)
input
2 2 2
output
2
input
2 3 4
output
3
input
1 10 5
output
5
Note
A 2 × 3 multiplication table looks like this:
1 2 32 4 6
题目意思是,从一个n*m的乘法表(不要问我乘法表是什么)中选出第k小数(相同的数字会计算多次)。
比如样例 2 3 4
乘法表为
1 2 3
2 3 4
非减序列是:1, 2, 2, 3, 3, 4。第4个数字是3,所以输出3。
代码如下:
#include <iostream> #include <algorithm> using namespace std; typedef long long LL; LL n, m, k; LL min(LL a, LL b) { return a<b?a:b; } LL check(LL x)//查找比x小的个数 { LL num = 0; for(int i = 1; i <= n; i++) { num+=min(m,x/i); } if(num >= k) return 1; else return 0; } int main() { while(cin>>n>>m>>k) { LL l = 0, r = n*m, ans = 0; while(l <= r) { LL mid = (l+r)>>1; if(check(mid)) { ans = mid; r = mid-1; } else l = mid+1; } cout<<ans<<endl; } return 0; }
相关文章推荐
- Codeforces Round #271 (Div. 2) B Worms 裸的二分查找
- 【Codeforces Round 367 (Div 2) B】【二分查找】Interesting drink
- Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market(二分查找)
- Codeforces Round #202 (Div. 1) A. Mafia二分查找,玩游戏
- Codeforces Round #256 (Div. 2) B Suffix Structures
- Codeforces Round #415 (Div. 2) D. Glad to see you! 二分, 交互
- Codeforces Round #182 (Div. 1) B. Yaroslav and Time(二分+SPFA变形)
- Codeforces Round #330 (Div. 2)D. Max and Bike 二分 物理
- Codeforces Round #447 (Div. 2) D. Ralph And His Tour in Binary Country 二叉树、预处理、二分、数据结构
- Codeforces Round #227 (Div. 2) E. George and Cards set内二分+树状数组
- Codeforces Round #283 (Div. 2) D Tennis Game ——枚举,二分
- Codeforces Round #367 (Div. 2) B Interesting drink【二分】
- Codeforces Round #256 (Div. 2) C. Painting Fence
- Codeforces Round #256 (Div. 2)
- Codeforces Round #384 (Div. 2)E(状压dp+二分,好题)
- Codeforces Round #281 (Div. 2) C. Vasya and Basketball 枚举+二分
- Codeforces Round #345 (Div. 2) D. Image Preview 暴力 二分
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)——A二分——Bear and Elections
- Codeforces Round #256 (Div. 2) D Multiplication Table
- Codeforces Round #360 (Div. 2) 前三题题解【简单模拟+思维+二分图判定二分染色】