第k大
2025-08-04 11:19:34
发布于:浙江
3阅读
0回复
0点赞
#include <bits/stdc++.h> // 万能头文件,包含所有标准库
using namespace std;
constexpr int N = 1e8 + 1; // 定义数组最大大小
int a[N]; // 声明全局数组
int main() {
int n, k, f, t, m;
scanf("%d%d%d%d%d", &n, &k, &f, &t, &m); // 读取输入
a[0] = f; // 初始化第一个元素
for (int i = 1; i < n; i++) {
a[i] = (a[i - 1] + t) % m; // 递推生成数组
}
// 使用 nth_element 找第 k 大的数(即第 n-k 小的数)
nth_element(a, a + n - k, a + n);
printf("%d", a[n - k]); // 输出结果
return 0;
}
这里空空如也
有帮助,赞一个