Submission #1305509

#TimeUsernameProblemLanguageResultExecution timeMemory
1305509coolboy19521Stranded Far From Home (BOI22_island)C++20
0 / 100
1095 ms12240 KiB
#include "bits/stdc++.h" #define FOR(i,a,b)for(int i=(a);i<(b);i++) #define F0R(i,a)FOR(i,0,a) #define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--) #define R0F(i,a)ROF(i,0,a) #define REP(a)F0R(_,a) using namespace std; const int mxn=2e5+20; vector<int>aj[mxn]; int s[mxn]; int main(){ cin.tie(nullptr)->sync_with_stdio(false); int n,m;cin>>n>>m; F0R(i,n)cin>>s[i]; REP(m){ int a,b;cin>>a>>b; a--,b--; aj[a].push_back(b); aj[b].push_back(a); } F0R(i,n){ priority_queue<array<int,2>>pq; vector<bool>vis(n); vis[i]=true; pq.push({-s[i],i}); long long sm=0; while(not pq.empty()){ auto tp=pq.top(); pq.pop(); sm-=tp[0]; for(int v:aj[tp[1]])if(not vis[v]){ if(s[v]<=sm){ vis[v]=true; pq.push({-s[v],v}); } } } int loc=0; F0R(j,n)if(vis[j])loc++; cout<<(loc==n); } cout<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...