제출 #971503

#제출 시각아이디문제언어결과실행 시간메모리
971503NomioCyberland (APIO23_cyberland)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<bool> V(100000, 0);
vector<pair<int, int>> v[100000];
vector<int> x, y, c, a;
double solve(int n, int m, int k, int h, vector<int> x, vector<int> y, vector<int> c, vector<int> a) {
	priority_queue<pair<ll, int>, vector<pair<ll, int>>, greater<pair<ll, int>>> pq;
	vector<ll> dis(n, 1e18);
	dis[0] = 0;
	pq.push({0, 0});
	while(!pq.empty()) {
		ll x = pq.top().first;
		int y = pq.top().second;
		pq.pop();
		if(dis[y] != x) continue;
		for(pair<int, int> p : v[y]) {
			int X = p.first;
			int Y = p.second;
			if(V[X] && dis[X] != 0) {
				dis[X] = 0;
				pq.push({0, X});	
			} else if(dis[X] > dis[y] + Y) {
				dis[X] = dis[y] + Y;
				pq.push({dis[X], X});
			}
		}
	}
	if(dis[h] == 1e18) {
		return -1;
	} else {
		return dis[h];
	}
}
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin >> t;
	while(t--) {
		int n, m, k, h;
		cin >> n >> m >> k >> h;
		x.clear();
		y.clear();
		c.clear();
		a.clear();
		for(int i = 0; i < n; i++) {
			v[i].clear();
		}
		for(int i = 0; i < n; i++) {
			int a1;
			cin >> a1;
			if(a1 == 0) {
				V[i] = 1;
			} else {
				V[i] = 0;
			}
			a.push_back(a1);
		}
		while(m--) {
			int x1, y1, c1;
			cin >> x1 >> y1 >> c1;
			v[x1].push_back({y1, c1});
			v[y1].push_back({x1, c1});
			x.push_back(x1);
			y.push_back(y1);
			c.push_back(c1);
		}
		cout << solve(n, m, k, h, x, y, c, a) << '\n';
	}
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccTrRjwb.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccThzhCb.o:cyberland.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status