답안 #527772

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
527772 2022-02-18T09:10:10 Z 1ne Autobus (COCI22_autobus) C++14
15 / 70
1000 ms 130620 KB
#include<bits/stdc++.h>
using namespace std;
 
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;cin>>n>>m;
vector<vector<int64_t>>dist(n,vector<int64_t>(n,1e15));
vector<vector<set<pair<int64_t,int64_t>>>>arr(n,vector<set<pair<int64_t,int64_t>>>(n));
for (int i = 0;i<m;++i){
	int64_t x,y,z;cin>>x>>y>>z;
	--x;
	--y;
	dist[x][y] = min(dist[x][y],z);
}
for (int i = 0;i<n;++i){
	for (int j = 0;j<n;++j){
		if (i!=j&&dist[i][j]!=1e15){
			arr[i][j].insert({dist[i][j],1});
		}
	}
}


int kk,q;cin>>kk>>q;
for (int i = 0;i<n;++i){
	for (int j = 0;j<n;++j){
		for (int k = 0;k<n;++k){
			for (auto x:arr[j][i]){
				for (auto y:arr[i][k]){
					if (x.second + y.second<=kk)
					arr[j][k].insert({x.first + y.first,x.second + y.second});
				}
			}
		}
	}
}
for (int i = 0;i<q;++i){
	int x,y;cin>>x>>y;
	--x;
	--y;
	if (x==y){
		cout<<0<<'\n';
		continue;
	}
	if (arr[x][y].empty()){
		cout<<-1<<'\n';
	}
	else{
		auto z = *arr[x][y].begin();
		cout<<z.first<<'\n';
	}
}
return 0;}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 316 KB Output is correct
6 Correct 2 ms 460 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 588 KB Output is correct
2 Correct 4 ms 716 KB Output is correct
3 Correct 17 ms 1952 KB Output is correct
4 Correct 15 ms 1588 KB Output is correct
5 Correct 737 ms 12604 KB Output is correct
6 Correct 667 ms 10012 KB Output is correct
7 Execution timed out 1089 ms 31904 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 316 KB Output is correct
6 Correct 2 ms 460 KB Output is correct
7 Execution timed out 1095 ms 130620 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 1 ms 316 KB Output is correct
6 Correct 2 ms 460 KB Output is correct
7 Correct 2 ms 588 KB Output is correct
8 Correct 4 ms 716 KB Output is correct
9 Correct 17 ms 1952 KB Output is correct
10 Correct 15 ms 1588 KB Output is correct
11 Correct 737 ms 12604 KB Output is correct
12 Correct 667 ms 10012 KB Output is correct
13 Execution timed out 1089 ms 31904 KB Time limit exceeded
14 Halted 0 ms 0 KB -