疑问,玄关

P1047 [NOIP2005 普及组] 校门外的树

Orz___zrO @ 2023-12-10 13:11:27

这个代码挂了

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N]={0};
int main(){
    int l,m;
    int u,v;
    cin>>l>>m;
    for(int i=1;i<=m;i++){
        cin>>u>>v;
        for(int j=u;j<=v;j++){
            a[j]=1;
        }
    }
    int sum=0;
    for(int i=1;i<=l;i++){
        if(a[i]!=1) sum++;
    }
    cout<<sum+1;
    return 0;
}

这个代码AC了

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N]={0};
int main(){
    int l,m;
    int u,v;
    cin>>l>>m;
    for(int i=1;i<=m;i++){
        cin>>u>>v;
        for(int j=u;j<=v;j++){
            a[j]=1;
        }
    }
    int sum=0;
    for(int i=0;i<=l;i++){
        if(a[i]==0) sum++;
    }
    cout<<sum;
    return 0;
}

问:哪里错了


by K__J__M @ 2023-12-10 13:14:08

0≤u,v

by K__J__M @ 2023-12-10 13:14:26

@Orz___zrO


by K__J__M @ 2023-12-10 13:15:35

所以a[0]可能等于1 @Orz___zrO


by Orz___zrO @ 2023-12-10 13:16:57

@KJM 谢谢 ,已关


|