이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
/******************************************************************************
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;
vector<int>s;
s.push_back(iii);
//cout<<iii<<" "<<p<<"\n";
while(k<n){
int j=0;
int l=0;
for(auto i : s){
for(auto it : g[i]){
//cout<<it<<" "<<a[it]<<" "<<p<<" "<<c[it]<<"\n";
if(c[it]!=iii && a[it]<=p){
p+=a[it];
s.push_back(it);
j++;
c[it]=iii;
u[it]++;
u[i]++;
}
}
if(u[i]>(int)g[i].size()){
s.erase( l + s.begin());
}
l++;
}
if(j==0){
break;
}
k+=j;
}
//cout<<k<<"\n\n";
if(k==n){
ans[iii]=1;
}
}
for(int i=1;i<=n;i++){
cout<<ans[i];
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |