请发现它在 dev 中工作的错误,但在 hackerrank 中不起作用
please spot the error its working in dev but not in hackerrank
代码在hackerrank中不起作用,但在dev c ++中工作?? 输出值1047095560这样的数字,我尝试了其他方法来解决代码及其工作,但这种方法不起作用。一些测试用例是 10 3 1 5 3 4 8 7 6 9 1 回答 10 第二个测试用例 5 3 1 2 100 2 5 100 3 4 100 ANS 200
#include <iostream>;
using namespace std;
int main()
{
int n,m,ans;
cin>>n>>m;
int a[m][3],b[n]={0};
for(int i=0;i<m;i++)
{
for(int j=0;j<3;j++)
cin>>a[i][j];
}
for(int k=0;k<m;k++)
{
for(int i=a[k][0];i<=a[k][1];i++)
{
b[i-1]+=a[k][2];
}
}
for(int i=0;i<n;i++)
{
if(b[i]>b[i+1])
{
ans=b[i];
swap(b[i],b[i+1]);
}
else
ans=b[i+1];
}
cout<<ans;
return 0;
}
一个问题在:
int b[n]={0};
for(int i=0;i<n;i++)
{
if(b[i]>b[i+1])
...
}
在上一次迭代中,当i == n - 1
时,访问b[i+1]
会产生未定义的行为。
除了第一行的拼写错误(包含指令后的分号(和使用非标准VLA之外,主要错误是第三个循环,它导致了垃圾值。您应该将检查语句从i < n
更改为i < n - 1
。
这是一个更便携和紧凑的版本,它将支持所有编译器(C++14 及以上(:
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
int n, m;
std::cin >> n >> m;
std::vector<std::vector<int>> a(m, std::vector<int>(3, 0));
std::vector<int> b(n, 0);
for (auto &i : a)
for (auto &j : i)
std::cin >> j;
for (int k = 0; k < m; k++)
for (int i = a[k][0]; i <= a[k][1]; i++)
b[i - 1] += a[k][2];
std::cout << *std::max_element(b.begin(), b.end());
}
示例输入 1:
10 3
1 5 3
4 8 7
6 9 1
示例输出 1:
10
示例输入 2:
5 3
1 2 100
2 5 100
3 4 100
示例输出 2:
200
相关文章:
- 代码在main()中运行,但在函数中出现错误
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 实现 DFS 在较短的输入下工作正常,但在较大的输入下会抛出分段错误
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- 请发现它在 dev 中工作的错误,但在 hackerrank 中不起作用
- 类中的数组变量C++导致"was not declared in this scope"实现文件的一个函数中错误,但在构造函数中不会导致错误
- 静态库单独使用很好,但在引用时会抛出错误
- 为什么 if 语句在 Java 中"if(1)"给出错误,但在C++中成立?
- 在Visual Studio中使用括号时编译错误,但在G ++ / CLang ++中传递
- .exe应用程序在windows10中创建新模块时抛出错误,但在windows7中工作正常
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 返回实例变量的c++方法可以访问变量中的数据,但不能更改它,但在编译时不会生成错误
- 在最坏的情况下试验快速排序.它运行良好,但在最坏的情况下发生未知错误.我想
- 为什么以下代码在在线 ide(gcc 7.2.0) 上有效,但在 ubuntu 上出现错误?
- C++:在"try"外部创建的类型会导致错误,但在内部不会
- 声明为私有成员的互斥会生成错误,但在全局时不会生成错误
- 在VS2015中访问类成员时运行时错误,但在Linux上未访问时出错
- 分配给静态变量的局部变量;编译错误在'c'但在 C++ 中成功
- C++代码编译,但在 Zorin OS 上运行时显示错误
- GCC 4.2.2中的编译错误.但在Xcode 6.4中工作