I_AK_IOI_NM @ 2024-01-20 12:03:20
#include<iostream>
using namespace std;
int main(){
int l,m;
cin>>l>>m;
int n[l],u[m],v[m];
for(int i=1;i<=l;i++)
{
n[i]=1;
}
for(int i=1;i<=m;i++)
{
cin>>u[i];
cin>>v[i];
}
for(int j=1;j<=m*2;j++)
{
for(int k=u[j];k<=v[j];k++)
{
n[k]=0;
}
}
int c=0;
for(int o=1;o<=l;o++)
{
if(n[o]==0) c++;
}
cout<<c-4;
return 0;
}
by penguin_is_cool @ 2024-01-20 12:09:13
@xiaoxiaoluban 你n[]数组开的太小了,比如你输入了100 300,那n[300]超出范围了。所以你要数组开大,再用``` memset(n,0,sizeof(n))
by I_AK_IOI_NM @ 2024-01-20 12:12:37
@penguin_is_cool memset(n,0,sizeof(n))是啥意思纯萌新刚学到数组
by Dream_Creator @ 2024-01-20 12:13:05
@xiaoxiaoluban
(1)数组不要按变量开
(2)题意是在
(3)不太清楚 m* 2 和 c-4 表示什么意思,大致改了一下
https://www.luogu.com.cn/paste/25qm7r6h
by Y_QWQ_Y @ 2024-01-20 12:13:34
@xiaoxiaoluban 大哥,你定义 n[l]
但是 n 数组的下标是
by penguin_is_cool @ 2024-01-20 12:18:45
@xiaoxiaoluban memset 就是把数组归零。也可以不用,但你要用for循环可能会TLE(超时)
by xiaoshumiao @ 2024-01-20 12:27:35
@penguin_is_cool 拜托了,memset 也是循环好吗,而且 memset 一次初始化整个数组,比你循环初始化指定范围慢
by penguin_is_cool @ 2024-01-20 12:48:35
@xiaoshumiao 但memset方便
by xiaoshumiao @ 2024-01-20 12:50:17
@penguin_is_cool 确实。