Submission #1041214

# Submission time Handle Problem Language Result Execution time Memory
1041214 2024-08-01T17:50:27 Z Marco_Escandon Stranded Far From Home (BOI22_island) C++11
0 / 100
170 ms 19344 KB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<ll> G[200001];
ll cad[200001];
ll maxi=0;
vector<ll> sol;
ll cmc(ll node)
{
    priority_queue<pair<ll,ll>> q;
    map<ll,ll> mapa;
    ll ac=cad[node]; mapa[node]=1;
    for(auto i:G[node]){ mapa[i]=1;q.push({-cad[i],i});}
    while(!q.empty()&&ac<maxi&&ac>=-q.top().first)
    {
        ll temp=q.top().second;q.pop();
        ac+=cad[temp];
        if(sol[temp-1]==1) return 1;
        for(auto i:G[temp])
        {
            if(mapa[i]==0)
            {
                mapa[i]=1;
                q.push({-cad[i],i});
            }
        }
    }
    return (ac>=maxi);
}
int main()
{
    ll n,m;
    cin>>n>>m;
    vector<pair<ll,ll>> temp;
    for(int i=1; i<=n; i++)
    {
        cin>>cad[i];
        temp.push_back({cad[i],i});
    }
    sort(temp.rbegin(),temp.rend());
    maxi=temp.back().first;
    for(int i=0; i<m; i++)
    {
        ll a,b;
        cin>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    sol.assign(n,0);
    for(auto i:temp)
    {
        sol[i.second-1]=cmc(i.second);
    }
    for(auto i:sol)
        cout<<i;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 6492 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 6492 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 6492 KB Output is correct
2 Incorrect 162 ms 17596 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 6492 KB Output is correct
2 Incorrect 170 ms 19344 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 6492 KB Output isn't correct
2 Halted 0 ms 0 KB -