Submission #993631

#TimeUsernameProblemLanguageResultExecution timeMemory
993631amine_arouaStranded Far From Home (BOI22_island)C++17
10 / 100
776 ms524288 KiB
#include<bits/stdc++.h>
#pragma GCC optmize("O3")
#pragma GCC optimize("unroll-loops")
using namespace std;
#define int long long
#define pb push_back
#define fore(i , n) for(int i = 0 ; i<n;i++)
#define forr(i , x , y) for(int i = x ; i <= y; i++)
#define forn(i , x , y) for(int i = x ; i >= y; i--)
const int N = 2e5 + 10;
vector<int> adj[N];
int a[N];
int n , m;
vector<int> ans(N , 0);
int sz[N];
void dfsSZ(int x , int p)
{
    sz[x] = a[x];
    for(auto u : adj[x])
    {
        if(u == p)
            continue;
        dfsSZ(u , x);
        sz[x]+=sz[u];
    }
}
void dfsCompute(int x , int p)
{
    for(auto u : adj[x])
    {
        if(u == p)
            continue;
        if(sz[u] >= a[x])
        {
            ans[u] = 1;
            dfsCompute(u , x);
        }
    }
}
signed main()
{
    cin>>n>>m;
    fore(i , n)
    {
        cin>>a[i];
    }
    fore(i , m)
    {
        int u , v;
        cin>>u>>v;
        u-- , v--;
        adj[u].pb(v);
        adj[v].pb(u);
    }
    dfsSZ(0 , -1);
    ans[0] = 1;
    dfsCompute(0 , -1);
    fore(i , n)
        cout<<ans[i];
}

Compilation message (stderr)

island.cpp:2: warning: ignoring '#pragma GCC optmize' [-Wunknown-pragmas]
    2 | #pragma GCC optmize("O3")
      |
#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...