제출 #1121599

#제출 시각아이디문제언어결과실행 시간메모리
1121599vjudge1Stranded Far From Home (BOI22_island)C++17
10 / 100
278 ms2376 KiB
/******************************************************************************

Welcome to GDB Online.
  GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, 
  C#, OCaml, VB, Perl, Swift, Prolog, Javascript, Pascal, COBOL, HTML, CSS, JS
  Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <bits/stdc++.h>
#define int long long 
using namespace std;

vector<int>g[22001];
int u[22001];
int a[22001];
int c[22001];
int ans[22001];

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=m;i++){
        int q,w;
        cin>>q>>w;
        g[q].push_back(w);
        g[w].push_back(q);
    }
    //cout<<"\n\n\n";
    for(int iii=1;iii<=n;iii++){
        int p=a[iii];
        for(int i=1;i<=n;i++){
            u[i]=0;
            c[i]=i;
        }
        for(auto it : g[iii]){
            u[it]=1;
        }
        u[iii]=1;
        int k=1;
        set<pair<int,int>>s;
        for(auto it : g[iii]){
            s.insert({a[it],it});
        }
        while(s.size()!=0){
            pair<int,int>nn=*s.begin();
            if(nn.first>p){
                break;
            }
            else{
                p+=nn.first;
                c[nn.second]=iii;
                s.erase(s.begin());
                k++;
                for(auto it: g[nn.second]){
                    if(c[it]!=iii){
                        s.insert({a[it],it});
                    }
                }
            }
        }
        if(k==n){
            ans[iii]=1;
        }
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i];
    }
}
#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...