Submission #710907

#TimeUsernameProblemLanguageResultExecution timeMemory
710907penguin133Stranded Far From Home (BOI22_island)C++17
10 / 100
1083 ms22700 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int n, A[300005], m; bool ans[300005], vis[300005]; vector <int> adj[300005]; bool cmp(int a, int b){ return A[a] < A[b]; } void solve(){ cin >> n >> m; for(int i=1;i<=n;i++)cin >> A[i]; while(m--){ int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++)vis[j] = 0; vis[i] = 1; int cur = A[i]; set <pi> ms; for(auto j : adj[i])ms.insert({A[j], j}); while(!ms.empty()){ pi x = *ms.begin(); while(!ms.empty() && vis[x.se])ms.erase(ms.begin()), x = *ms.begin(); if(vis[x.se])break; ms.erase(ms.begin()); if(x.fi > cur)break; cur += x.fi; vis[x.se] = 1; for(auto j : adj[x.se]){ if(vis[j])continue; ms.insert({A[j], j}); } } ans[i] = 1; for(int j=1;j<=n;j++)if(!vis[j])ans[i] = 0; } for(int i=1;i<=n;i++)cout << ans[i]; } main(){ ios::sync_with_stdio(0);cin.tie(0); int tc = 1; //cin >> tc; for(int tc1=1;tc1<=tc;tc1++){ // cout << "Case #" << tc1 << ": "; solve(); } }

Compilation message (stderr)

island.cpp:54:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   54 | main(){
      | ^~~~
#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...