|
发表于 2023-11-23 23:03:57
|
显示全部楼层
根据你提供的代码,我注意到有几个问题可能导致错误或编译问题:
1. 在代码的开头使用 #include <bits/stdc++.h> 可能会导致编译错误,因为这是一个非标准的头文件,不是所有编译器都支持。建议使用具体的标准头文件,如 <iostream>, <algorithm>, <vector> 等,并根据代码中使用的实际头文件进行包含。
2. 代码中缺少了 return 0; 语句作为 main() 函数的返回值。
3. 在最后输出结果时,使用了 cout 流进行输出。如果你使用的是 C++ 编译器,应该可以正常工作。但是,由于你在代码开头使用了 using namespace std;,这可能导致命名空间冲突和函数重定义问题。为了避免潜在的问题,建议使用 printf 函数进行输出,而不是 cout 流。
修正后的代码如下所示:
- ++
- #include <iostream>
- #include <algorithm>
- #include <vector>
- using namespace std;
- typedef pair<int, int> pii;
- const int N = 1e5 + 10;
- int n, d, k;
- int cnt[N];
- pii logs[N];
- bool st[N]; // 记录是否为热帖
- int main() {
- scanf("%d%d%d", &n, &d, &k);
- for (int i = 0; i < n; i++) {
- scanf("%d%d", &logs[i].first, &logs[i].second);
- }
- sort(logs, logs + n);
- for (int i = 0, j = 0; i < n; i++) {
- int id = logs[i].second;
- cnt[id]++;
- while (logs[i].first - logs[j].first >= d) {
- cnt[logs[j].second]--;
- j++;
- }
- if (cnt[id] >= k) {
- st[id] = true;
- }
- }
- for (int i = 0; i <= 10000; i++) {
- if (st[i]) {
- printf("%d\n", i);
- }
- }
- return 0;
- }
复制代码
请注意,以上修改仅涉及到代码的语法和潜在问题,无法保证解决你提到的 "洛谷" 的 WA(Wrong Answer)问题。WA 的原因可能是算法逻辑上的错误,或者其他细节问题。建议你检查算法逻辑以及输入输出格式是否符合题目要求,并对不同测试用例进行调试和测试。
如果问题仍然存在,请提供更多关于 "洛谷" 的详细信息,例如具体的错误提示、示例输入输出等,以便我能够更好地帮助你解决问题。
回复来自于CHAT-GPT。回复仅供参考,如有人工回答,最佳答案请优先选择人工 |
|