为什么编译错误啊

这代码电脑上能编译,提交上去就ce了

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#define N 110010
using namespace std;
int fa[N],next[N],end[N],n,s,t,path[N],tot,h[N*10],dis[N];
bool visit[N];
void add(int a,int b,int c)
{
tot++;
end[tot]=b;
path[tot]=c;
next[tot]=fa[a];
fa[a]=tot;
}
int main()
{
scanf("%d%d%d",&n,&s,&t);
for (int i=1;i<=n;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
add(x,y+1,z);
}
for (int i=2;i<=90000;i++)
add(i,i-1,0);
visit[s]=true;
memset(dis,60,sizeof(dis));
dis[s]=0;
int q=0,w=1;
h[1]=s;
while (q<w)
{
q++;
int now=h[q];
for (int i=fa[now];i;i=next[i])
if (dis[end[i]]>dis[now]+path[i])
{
dis[end[i]]=dis[now]+path[i];
if (!visit[end[i]])
{
w++;
h[w]=end[i];
visit[end[i]]=true;
}
}

visit[now]=false;

}

if (dis[t]!=dis[0])

printf("%d",dis[t]);
else printf("-1");

}

4 条评论

  • 1

信息

ID
1404
难度
8
分类
动态规划 | 数据结构 | 树状数组数据结构 | 线段树数据结构 | 单调队列其他 | 二分查找图结构 | 最短路 点击显示
标签
(无)
递交数
2948
已通过
428
通过率
15%
被复制
4
上传者