wmf_2010 2021-08-09 16:43 采纳率: 100%
浏览 24
已结题

有没有人指导一下,一本通1107,该怎样?

#include<bits/stdc++.h>
using namespace std;
int main(){
    int l,m;
    cin>>l>>m;
    int a[105];
    for(int i=0;i<m*2;i++){
        cin>>a[i];
    }
    int p=0;
    int f=1,c=0    ;
    for(int i=2;i<m*2;i++){
        if(f==1){
            if(a[i]<a[i-1]&&a[i+1]>a[i-2]){
                c+=a[i-1]-a[i];
            }
            p=1;
        }
        else{
            c+=a[i]-a[i+1];
            p=0;
        }
        if(f==2){
            f=0;
        }
        f++;
        
    }
    if(p==0){
        c=c+(a[0]+a[1]);
    }
    cout<<l-c<<endl;
    cout<<c;
    return 0;
}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2021-08-09 16:52
    关注
    你输入的数组最大下标为m*2-1,但你后面的循环中,出现了a[i+1],显然当i=m*2-1时,a[i+1]是越界的。所以后面的for循环应该i<m*2-1
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月17日
  • 已采纳回答 8月9日
  • 创建了问题 8月9日

悬赏问题

  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况
  • ¥15 帮我看看这是个啥题,带解题过程和结果,条件如下FCF = 290471.33 g1 = 15% r = 8% g2 = 4% n = 5
  • ¥15 edem模拟颗粒不显示或者生成失败
  • ¥15 Python代码编写