Submission #573274

#TimeUsernameProblemLanguageResultExecution timeMemory
573274MohamedAliSaidaneStranded Far From Home (BOI22_island)C++14
0 / 100
1099 ms13660 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; using namespace std; typedef tree<int,null_type,less<int>,rb_tree_tag, tree_order_statistics_node_update> indexed_set; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef pair<ld,ld> pld; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpi; typedef vector<pll> vpl; #define pb push_back #define popb pop_back #define pp pop_back #define pf push_front #define popf pop_front #define all(x) (x).begin(),(x).end() #define ff first #define ss second ///#define int ll int nx[4] = {0,0,1,-1}, ny[4] = {1,-1,0,0}; ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} const int nax = 2e5 + 4; int n, m; ll s[nax]; vi adj[nax]; void sub1() { string ans = ""; for(int i = 1; i<= n; i++) ans += '1'; ll sum = 0ll; for(int i = 1 ; i <= n ;i ++ ) sum += s[i]; for(int i = 1; i <= n; i++) { ll cur = s[i]; set<pll> pq; for(auto e: adj[i]) pq.insert({s[e],e}); bool vis[n + 1]; memset(vis,false,sizeof(vis)); while(!pq.empty()) { pll u = *(pq.begin()); pq.erase(pq.begin()); if(u.ff > cur) { break; } cur += u.ff; vis[u.ss] = 1; for(auto e: adj[u.ss]) { if(vis[e]) continue; vis[e] = 1; pq.insert({s[e],e}); } } if(cur != sum) ans[i - 1] = '0'; } cout << ans; } void solve() { cin >> n >> m; for(int i = 1; i <= n; i++) cin >> s[i]; for(int i = 1; i <= m; i ++) { int a, b; cin >> a >> b; adj[a].pb(b); adj[b].pb(a); } sub1(); } int32_t main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int tt = 1; while(tt --) solve(); }
#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...