이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include<unordered_map>
#include<unordered_set>
#include<algorithm>
using namespace std;
#define mp make_pair
#define pb push_back
#define pii pair<int,int>
#define fi first
#define se second
#define int long long
const int maxn = 2e5 + 50;
vector<vector<int>> adj(maxn);
vector<int>vis(maxn), s(maxn);
int tot;
void run(int u) {
priority_queue<pii, vector<pii>, greater<pii>> pq;
pq.push(mp(0LL, u));
while (pq.size()) {
pii uu = pq.top(); pq.pop();
if (vis[uu.se] || uu.fi > tot) continue;
vis[uu.se] = 1; tot += uu.fi;
for (auto& v : adj[uu.se]) {
pq.push(mp(s[v], v));
}
}
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int n, m; cin >> n >> m;
for (int i = 0; i < n; i++) cin >> s[i];
for (int i = 0; i < m; i++) {
int u, v; cin >> u >> v;
u--; v--;
adj[u].pb(v); adj[v].pb(u);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) vis[j] = 0;
tot = s[i]; run(i);
int ok = 1; for (int j = 0; j < n; j++) ok &= vis[j];
cout << ok;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |