C++课后习题训练记录Day42

1.练习项目:

输入描述

输入三个数字 n,m,k,每个数字的意义和问题描述中相同。

输入保证 1≤n,m≤5×10的5次方,1≤k≤n×m。

输出描述

输出一个数字表示第 k 大的元素。

2.选择课程

在蓝桥云课中选择题库,选择题号3404并开始练习。

3.开始练习

(1)源码:

#include<bits/stdc++.h>

using namespace std;

using ll=long long;

ll n,m,k;

ll rnk(ll mid)

{

ll res=0;

for(int i=1;i<=n;i++){

res+=min(m,mid/i);

}

return res;

}

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cin>>n>>m>>k;

ll l=0,r=1e14;

while(l+1!=r){

ll mid=(l+r)/2;

if(rnk(mid)>=k){

r=mid;

}else{

l=mid;

}

}

cout<<r;

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
fqbqrr17 小时前
2606C++,C++构的多态
开发语言·c++
biter down17 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
小欣加油17 小时前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
lqqjuly18 小时前
前沿算法深度解析(二)
人工智能·算法·机器学习
Yolo_TvT18 小时前
C++:析构函数
c++
徐小夕19 小时前
万字长文!千万级文档 RAG 知识库系统落地实践
前端·算法·github
threelab19 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师7219 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴19 小时前
线程的生命周期之线程“插队“
java·开发语言·python