Submission #756116

#TimeUsernameProblemLanguageResultExecution timeMemory
756116VadimKStranded Far From Home (BOI22_island)C++17
10 / 100
1087 ms15608 KiB
#include <bits/stdc++.h>
#define ll long long

using namespace std;

int main()
{
    int n,m;
    cin>>n>>m;
    string ans="";
    ll s[n+1];
    vector <ll> g[n+1];
    for (int i=1; i<=n; i++)
        cin>>s[i];
    for (int i=1; i<=m; i++)
    {
        int a,b;
        cin>>a>>b;
        g[a].push_back(b);
        g[b].push_back(a);
    }
    priority_queue <pair<ll,ll> > q;
    for (int i=1; i<=n; i++)
    {
        ll total=s[i];
        ll v,num;
        bool vis[n+1]= {0},can=1;
        vis[i]=1;
        q.push(make_pair(0,i));
        while (!q.empty())
        {
            tie (num,v)=q.top();
            q.pop();
            num*=-1;
            if (total<num) {can=0; break;}
            total+=num;
            for (int j=0; j<g[v].size(); j++)
                if (!vis[g[v][j]]) {q.push(make_pair(-1*s[g[v][j]],g[v][j])); vis[g[v][j]]=1;}
        }
        for (int x=1; x<=n; x++)
            if (!vis[x])
                {can=0; break;}
        if (can==1) ans+='1';
        else ans+='0';
        while (!q.empty()) q.pop();
    }
  cout<<ans;
}

Compilation message (stderr)

island.cpp: In function 'int main()':
island.cpp:37:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |             for (int j=0; j<g[v].size(); j++)
      |                           ~^~~~~~~~~~~~
#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...