이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
# include <bits/stdc++.h>
 
# define pb push_back
# define ff first
# define ss second
# define nl "\n"
# define sz(x) ((int)(x).size())
# define deb(x) cerr << #x  << " = " << x << endl; 
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
 
const ll maxn = 2e5 + 25;
const ll inf = 2e9 + 0;
const ll mod = 998244353;
const ll dx[] = {-1, 1, 0, 0};
const ll dy[] = {0, 0, -1, 1};
 
using namespace std;
ll n, m, s[maxn];
vector <ll> g[maxn];
bool used[maxn];
void bfs (ll st)
{
	priority_queue <pair <int, int> > q;
	queue <int> w;
	ll sum = s[st];
	w.push(st);
	while (!w.empty())
	{
 		ll v = w.front();
		w.pop();
		if (used[v]) continue;
		used[v] = 1;
		for (ll to : g[v])
		{
			if (!used[to])
			{
				q.push({-s[to], to});
			}
		}
		while (!q.empty())
		{
			if (sum >= -q.top().ff)
			{
				sum += -q.top().ff;
				w.push(q.top().ss);
				q.pop();
			}
			else
			{
				break;
			}
		}
	}
}
void ma1n (/* SABR */)
{
	cin >> n >> m;
	for (ll i = 1; i <= n; ++i)
	{
		cin >> s[i];
	}
	for (ll i = 1, u, v; i <= m; ++i)
	{
		cin >> u >> v;
		g[u].pb(v);
		g[v].pb(u);	
	}	
	string ans = "";
	for (ll i = 1; i <= n; ++i)
	{
		bfs(i);
		bool ok = 1;
		for (ll j = 1; j <= n; ++j)
		{
			if (!used[j]) ok = 0;
		}
		ans += char(ok + '0');
		memset(used, 0, sizeof(used));
	}
	cout << ans;
}
 
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
//  freopen("file.in", "r", stdin);
//  freopen("file.out", "w", stdout);
    int ttt = 1;	
//  cin >> ttt;
    for (int test = 1; test <= ttt; ++test)
    {
//      cout << "Case " << test << ":" << ' ';
        ma1n();
    }
    return 0;
}
| # | 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... |