#include<iostream>
#include<cstdio>
#define MAXN 100000+5
using namespace std;
int h[MAXN];
int main()
{
int n,p,sum;
cin>>n;
p=0;
for(int i=0;i<n;i++)
{
cin>>h[i];
if(i==0){p=0;sum=h[i];}
else {p+=h[i-1]-h[i];if(p<0)sum-=p,p=0;}
}
cout<<sum<<endl;
return 0;
}这道题坑我了我就,一直看错以为是WA at test 9,火大的改了5遍过后才发现是RE 边界数定义少了1个0,。不过也了解了一下runtime err 如果不是test 1 的话,一般都是数组越界了,其他是指针使用错误等。
题很简单,读懂就行
本文分享了一段C++代码的调试经历,该程序用于计算特定条件下的累计值。作者因忽视边界条件而导致运行时错误(runtime error),最终通过仔细检查解决了问题。文中提到的runtime error常见原因包括数组越界和指针使用不当。
752

被折叠的 条评论
为什么被折叠?



