提交记录 9637


用户 题目 状态 得分 用时 内存 语言 代码长度
tinjyu noi18a. 【NOI2018】归程 Time Limit Exceeded 0 4 s 40672 KB C++ 2.59 KB
提交时间 评测时间
2019-06-22 21:26:57 2020-08-01 01:43:14
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <algorithm> 
#include <cstring>
#include <queue>
using namespace std;
long long int h[1000005][2],tag[1000005],t,n,m,map[1000005][3],start[1000005],road[10000005][4],minroad[1000005];
int dijk()
{
	h[1][0]=1;
	h[1][1]=0;
	for(int i=1;i<=n;i++)tag[i]=0;
	tag[1]=1;
	int p=1;
	for(int i=1;i<=n;i++)minroad[i]=999999999999;
	minroad[1]=0;
	while(p>=1)
	{
		int u=h[1][0];
		tag[u]=0;
		swap(h[1][0],h[p][0]);
		swap(h[1][1],h[p][1]);
		int x=1;
	//for(int i=1;i<=p;i++)cout<<h[i][0]<<" "<<h[i][1]<<"  ";
	p--;
		while(x<=p)
		{
			if(h[x][1]>h[x*2][1] && (h[x*2][1]<h[x*2+1][1] || x*2+1>p) && x*2<=p)
			{
				swap(h[x][0],h[x*2][0]);
				swap(h[x][1],h[x*2][1]);
				x=x*2;
			}
			else if(h[x][1]>h[x*2+1][1] && h[x*2+1][1]<h[x*2][1] && x*2+1<=p)
			{
				swap(h[x][0],h[x*2+1][0]);
				swap(h[x][1],h[x*2+1][1]);
				x=x*2+1;
			}
			else break;
		}
		
		//for(int i=1;i<=p;i++)cout<<h[i][0]<<" "<<h[i][1]<<"  ";
		//cout<<endl;
		
		int g=start[u];
		//cout<<u<<endl;
		while(g!=-1)
		{
			int now=map[g][0];
			//cout<<now<<endl;
			if(minroad[u]+map[g][1]<minroad[now])
			{
				minroad[now]=minroad[u]+map[g][1];
				if(tag[now]==0)
				{
					tag[now]=1;
					p++;
					h[p][0]=h[1][0];
					h[1][0]=now;
					h[p][1]=h[1][1];
					h[1][1]=minroad[now];
					x=1;
					while(x<=p)
					{
						if(h[x][1]>h[x*2][1] && (h[x*2][1]<h[x*2+1][1] || x*2+1>p) && x*2<=p)
						{
							swap(h[x][0],h[x*2][0]);
							swap(h[x][1],h[x*2][1]);
							x=x*2;
						}
						else if(h[x][1]>h[x*2+1][1] && h[x*2+1][1]<h[x*2][1] && x*2+1<=p)
						{
							swap(h[x][0],h[x*2+1][0]);
							swap(h[x][1],h[x*2+1][1]);
							x=x*2+1;
						}
						else break;
					}
					//for(int i=1;i<=p;i++)cout<<h[i][0]<<" "<<h[i][1]<<"  ";
					//cout<<endl;
				}
			}
			g=map[g][2];
			
		}
		//cout<<endl;
		//for(int i=1;i<=n;i++)cout<<minroad[i]<<" ";
		//cout<<endl;
	}
}
int main(){
	freopen("return.in","r",stdin);
	freopen("return.out","w",stdout);
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		for(int i=1;i<=n;i++)start[i]=-1;
		for(int i=0;i<m;i++)
		{
			cin>>road[i][0]>>road[i][1]>>road[i][2]>>road[i][3];
			int x=road[i][0],y=road[i][1];
			map[i*2][0]=y;
			map[i*2][1]=road[i][2];
			map[i*2][2]=start[x];
			start[x]=i*2;
			map[i*2+1][0]=x;
			map[i*2+1][1]=road[i][2];
			map[i*2+1][2]=start[y];
			start[y]=i*2+1;
		}
		dijk();
		//for(int i=1;i<=n;i++)cout<<minroad[i]<<" ";
		long long int q,k,s;
		cin>>q>>k>>s;
		for(int i=1;i<=q;i++)
		{
			int v,p;
			cin>>v>>p;
			//cout<<v<<" "<<p<<endl;
			if(p>=road[1][3])cout<<minroad[v]<<endl;
			else cout<<"0"<<endl;
		}
	}
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #14 s48 KBTime Limit ExceededScore: 0

Testcase #24 s30 MB + 580 KBTime Limit ExceededScore: 0

Testcase #34 s30 MB + 584 KBTime Limit ExceededScore: 0

Testcase #44 s30 MB + 588 KBTime Limit ExceededScore: 0

Testcase #54 s30 MB + 732 KBTime Limit ExceededScore: 0

Testcase #64 s33 MB + 848 KBTime Limit ExceededScore: 0

Testcase #74 s30 MB + 652 KBTime Limit ExceededScore: 0

Testcase #84 s30 MB + 652 KBTime Limit ExceededScore: 0

Testcase #94 s30 MB + 652 KBTime Limit ExceededScore: 0

Testcase #10174.88 ms39 MB + 736 KBRuntime ErrorScore: 0

Testcase #11187.027 ms39 MB + 736 KBRuntime ErrorScore: 0

Testcase #124 s33 MB + 708 KBTime Limit ExceededScore: 0

Testcase #134 s33 MB + 788 KBTime Limit ExceededScore: 0

Testcase #144 s33 MB + 864 KBTime Limit ExceededScore: 0

Testcase #154 s30 MB + 732 KBTime Limit ExceededScore: 0

Testcase #164 s30 MB + 732 KBTime Limit ExceededScore: 0

Testcase #174 s33 MB + 836 KBTime Limit ExceededScore: 0

Testcase #184 s33 MB + 884 KBTime Limit ExceededScore: 0

Testcase #194 s33 MB + 812 KBTime Limit ExceededScore: 0

Testcase #204 s33 MB + 972 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-03 22:46:46 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠