Submission #90305

# Submission time Handle Problem Language Result Execution time Memory
90305 2018-12-21T08:02:36 Z Atashka01 Evacuation plan (IZhO18_plan) C++11
12 / 100
531 ms 17252 KB
//Euzibillahiminesseytanirracim Bismillahirrahmanirrahim

/*
ID:
TASK:
LANG: C++
*/

#include <bits/stdc++.h>
#define pb push_back
#define ll long long
#define ff first
#define ss second
#define mp make_pair
#define PII pair<int,int>
#define inf 1000000001
using namespace std;

ll n, m, x, y, z, k, mx, t, d[100001], kd[100001], a[100001]; 

vector<pair<ll,ll>> v[100001];

priority_queue<pair<ll,ll>> q;

queue<ll>qq;

int main()
{
	
	cin>>n>>m;
	
	for(int i=1;i<=m;i++){
		
		cin>>x>>y>>z;
		
		v[x].pb({y,z});
		v[y].pb({x,z});
		
	}
	
	for(int i=1;i<=n;i++) d[i] = inf;
	
	cin>>k;
	
	for(int i=1;i<=k;i++){
		
		cin>>a[i];
		
		d[a[i]] = 0;
		
		q.push({0,a[i]});
		
	}
	
	while(!q.empty()){
		
		ll b = q.top().ss;
		q.pop();
		
		if(kd[b] == 1) continue;
		
		kd[b] = 1;
		
		for(auto s:v[b]){
			
			if(d[s.ff] > d[b] + s.ss){
				
				d[s.ff] = d[b] + s.ss;
				
				q.push({-s.ss , s.ff});
				
			}
			
		}
		
	}
	
	cin>>t;
	
	while(t--){
		
		ll l, r;
	
		cin>>x>>y;
		
		l = 1;
		r = d[x];
				
		while(l <= r){
			
			int mid = (l + r) / 2;
			
			for(int i=1;i<=n;i++) kd[i] = 0;
			kd[x] = 1;
			qq.push(x);
			
			while(!qq.empty()){
				
				int b = qq.front();
				qq.pop();
				
				for(auto s:v[b]){
					
					if(kd[s.ff] == 1 || d[s.ff] < mid) continue;
					
					kd[s.ff] = 1;
					qq.push(s.ff);
					
				}
				
			}
			
			if(kd[y] == 1) l = mid + 1;
			else r = mid - 1;
			
		}
		
		cout<<l - 1<<"\n";
		
	}
	
}

/*

_________oBBBBB8o   oBBBBBBB8
_____o8BBBBBBBBBBB  BBBBBBBBB8        o88o
___o8BBBBBB**8BBBB  BBBBBBBBBB     oBBBBBBBo
__oBBBBBBB*   ***   BBBBBBBBBB     BBBBBBBBBBo
_8BBBBBBBBBBooooo   *BBBBBBB8      *BB* 8BBBBBBo
_8BBBBBBBBBBBBBBBB8ooBBBBBBB8           8BBBBBBB8
__*BBBBBBBBBBBBBBBBBBBBBBBBBB8 o88BB88BBBBBBBBBBBB
____*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB8
______**8BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*
___________*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB8*
____________*BBBBBBBBBBBBBBBBBBBBBBBB8888**
_____________BBBBBBBBBBBBBBBBBBBBBBB*
_____________*BBBBBBBBBBBBBBBBBBBBB*
______________*BBBBBBBBBBBBBBBBBB8
_______________*BBBBBBBBBBBBBBBB*
________________8BBBBBBBBBBBBBBB8
_________________8BBBBBBBBBBBBBBBo
__________________BBBBBBBBBBBBBBB8
__________________BBBBBBBBBBBBBBBB
__________________8BBBBBBBBBBBBBBB8
__________________*BBBBBBBBBBBBBBBB
__________________8BBBBBBBBBBBBBBBB8
_________________oBBBBBBBBBBBBBBBBBB
________________oBBBBBBBBBBBBBBBBBBB
________________BBBBBBBBBBBBBBBBBBBB
_______________8BBBBBBBBBBBBBBBBBBB8
______________oBBBBBBBBB88BBBBBBBBB8
______________8BBBBBBBBB*8BBBBBBBBB*
______________BBBBBBBBB* BBBBBBBBB8
______________BBBBBBBB8 oBBBBBBBBB*
______________8BBBBBBB  oBBBBBBBB*
______________BBBBBBB*  8BBBBBBB*
_____________8BBBBBB*   BBBBBBB*
____________8BBBBBB8   oBBBBBB8
___________8BBBBBB8    8BBBBBB*
__________oBBBBBB8    BBBBBBB8
__________BBBBBBB8   BBBBBBBB*
_________oBBBBBBB8   BBBBBBBB
_________8BBBBBB8    BBBBBBB*
_________BBBBBB*     8BBBBB*
________oBBBB8       BBBBB*
________oBBB8        BBBB*
________BBBB8       8BBBBo
_______8BBBB*      oBBBBBBo
______8BBBB*       *BBBBBBBB8o
______BBBBB*            *88BBBo
*/
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2680 KB Output is correct
2 Correct 89 ms 2808 KB Output is correct
3 Correct 58 ms 2808 KB Output is correct
4 Correct 4 ms 2680 KB Output is correct
5 Correct 34 ms 2936 KB Output is correct
6 Correct 11 ms 2828 KB Output is correct
7 Correct 4 ms 2680 KB Output is correct
8 Correct 4 ms 2680 KB Output is correct
9 Incorrect 28 ms 2808 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2680 KB Output is correct
2 Correct 89 ms 2808 KB Output is correct
3 Correct 58 ms 2808 KB Output is correct
4 Correct 4 ms 2680 KB Output is correct
5 Correct 34 ms 2936 KB Output is correct
6 Correct 11 ms 2828 KB Output is correct
7 Correct 4 ms 2680 KB Output is correct
8 Correct 4 ms 2680 KB Output is correct
9 Incorrect 28 ms 2808 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2680 KB Output is correct
2 Correct 5 ms 2724 KB Output is correct
3 Correct 5 ms 2716 KB Output is correct
4 Correct 5 ms 2680 KB Output is correct
5 Correct 4 ms 2680 KB Output is correct
6 Correct 4 ms 2680 KB Output is correct
7 Correct 4 ms 2680 KB Output is correct
8 Correct 4 ms 2680 KB Output is correct
9 Correct 4 ms 2732 KB Output is correct
10 Correct 5 ms 2684 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 531 ms 17252 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 2680 KB Output is correct
2 Correct 89 ms 2808 KB Output is correct
3 Correct 58 ms 2808 KB Output is correct
4 Correct 4 ms 2680 KB Output is correct
5 Correct 34 ms 2936 KB Output is correct
6 Correct 11 ms 2828 KB Output is correct
7 Correct 4 ms 2680 KB Output is correct
8 Correct 4 ms 2680 KB Output is correct
9 Incorrect 28 ms 2808 KB Output isn't correct
10 Halted 0 ms 0 KB -