제출 #958007

#제출 시각아이디문제언어결과실행 시간메모리
958007kimSecurity Guard (JOI23_guard)C++17
37 / 100
144 ms19984 KiB
#include<bits/stdc++.h> using namespace std; #define eb emplace_back using ll=long long; vector<int> adj[200005]; int a[200005]; struct A{ int u,v; A(int u=0,int v=0):u(u),v(v){} bool operator<(const A &o)const{ if(a[u]!=a[o.u]) return a[u]>a[o.u]; return a[v]>a[o.u]; } }; priority_queue<A> pq; bitset<200005> vis; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,m,Q; cin>>n>>m>>Q; int mx=1; for(int i=1;i<=n;++i){ cin>>a[i]; if(a[i]>a[mx]) mx=i; } for(int i=0;i<m;++i){ int u,v; cin>>u>>v; adj[u].eb(v), adj[v].eb(u); } ll ans=0; vis[mx]=1; for(auto &v:adj[mx]) pq.emplace(mx,v); while(pq.size()){ auto [p,u]=pq.top(); pq.pop(); if(vis[u]) continue; ans+=a[p]; vis[u]=1; for(auto &v:adj[u]){ if(vis[v]) continue; pq.emplace(u,v); } } cout<<ans; return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...