| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1345012 | yc11 | Stranded Far From Home (BOI22_island) | C++20 | 1095 ms | 16572 KiB |
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
int n,k;
vector<vector<int> > n1;
vector<int> n2;
cin>>n>>k;
n1.resize(n);
n2.resize(n);
for (int i = 0;i<n;i++) cin>>n2[i];
for (int i = 0;i<k;i++){
int a,b;
cin>>a>>b;
n1[a-1].push_back(b-1);
n1[b-1].push_back(a-1);
}
string ans = "";
for (int i = 0;i<n;i++) ans = ans+"0";
for (int i = 0;i<n;i++){
priority_queue<pair<int,int>,vector<pair<int,int> > , greater<pair<int,int> > > pq;
int c = n2[i];
vector<int> c1;
c1.assign(n,0);
c1[i] = 1;
int c2 = 1;
pq.push(make_pair(n2[i],i));
while (!pq.empty()){
if (c2==n) break;
if (pq.top().first>c) break;
int a = pq.top().first;
int b = pq.top().second;
pq.pop();
if (c1[b]==0){
c2++;
c+=a;
c1[b]=1;
}
for (int i = 0;i<n1[b].size();i++){
if (c1[n1[b][i]]==1) continue;
pq.push(make_pair(n2[n1[b][i]],n1[b][i]));
}
}
if (c2==n) ans[i] = '1';
}
cout<<ans;
return 0;
}| # | 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... | ||||
