Submission #1053773

# Submission time Handle Problem Language Result Execution time Memory
1053773 2024-08-11T17:25:07 Z codexistent Pipes (BOI13_pipes) C++14
0 / 100
104 ms 62428 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAXN 100005
#define MAXM 500005
#define FOR(i, a, b) for(ll i = a; i <= b; i++)
#define f first
#define s second

ll n, m, w[MAXN], d[MAXM];
set<ll> adj[MAXN];
pair<ll, pair<ll, ll>> e[MAXN];
bool v[MAXM];
map<pair<ll, ll>, ll> eid;

int main(){
    cin >> n >> m;
    FOR(i, 1, n) cin >> w[i];
    FOR(i, 1, m){
        e[i].f = 0;
        cin >> e[i].s.f >> e[i].s.s;
        adj[e[i].s.f].insert(e[i].s.s), adj[e[i].s.s].insert(e[i].s.f);

        eid.insert({{min(e[i].s.f, e[i].s.s), max(e[i].s.f, e[i].s.s)}, i});
    }

    priority_queue<pair<ll, ll>> pq;
    FOR(i, 1, m) {
        v[i] = false;
        e[i].f = adj[e[i].s.f].size() + adj[e[i].s.s].size() - 2;
        //cout << "FOR EDGE " << i << " WE HAVE " << e[i].f << " CT " << endl;
        for(auto j : adj[e[i].s.f]){
            if(adj[j].size() == 2 && adj[e[i].s.s].find(j) != adj[e[i].s.s].end()){
                e[i].f -= 2;
            }
        }

        if(adj[e[i].s.f].size() == 1 || adj[e[i].s.s].size() == 1){
            pq.push({1, i});
        }else if(e[i].f == 0){
            pq.push({0, i});
        }
    }
    /*while(pq.size()){
        //cout << pq.top().f << " ~ " << pq.top().s << " ==> " << e[pq.top().s].f << endl;
        auto pqi = pq.top(); pq.pop();
        if(v[pqi.s]) continue;
        v[pqi.s] = true;

        if(pqi.f == 0){
            ll s = 0;
            for(ll i2 : adj[e[pqi.s].s.f]) s += w[i2];
            for(ll i2 : adj[e[pqi.s].s.s]) s += w[i2];

            d[pqi.s] = w[e[pqi.s].s.f] + w[e[pqi.s].s.s] - s;
        }else if(adj[e[pqi.s].s.f].size() == 1){
            d[pqi.s] = w[e[pqi.s].s.f] * 2;
        }else{
            d[pqi.s] = w[e[pqi.s].s.s] * 2;
        }

        adj[e[pqi.s].s.f].erase(e[pqi.s].s.s);
        adj[e[pqi.s].s.s].erase(e[pqi.s].s.f);
        w[e[pqi.s].s.f] -= d[pqi.s] / 2;
        w[e[pqi.s].s.s] -= d[pqi.s] / 2;

        if(adj[e[pqi.s].s.f].size() == 2){
            ll a = *(adj[e[pqi.s].s.f].begin());
            ll b = *(++adj[e[pqi.s].s.f].begin());

            if(eid.find({min(a, b), max(a, b)}) != eid.end()){
                e[eid[{min(a, b), max(a, b)}]].f -= 2;

                if(!v[eid[{min(a, b), max(a, b)}]] && e[eid[{min(a, b), max(a, b)}]].f == 0){
                    pq.push({0, eid[{min(a, b), max(a, b)}]});
                }
            }
        }else if(adj[e[pqi.s].s.f].size() == 1){
            ll a = *(adj[e[pqi.s].s.f].begin());
            if(!v[eid[{min(a, e[pqi.s].s.f), max(a, e[pqi.s].s.f)}]]){
                pq.push({1, eid[{min(a, e[pqi.s].s.f), max(a, e[pqi.s].s.f)}]});
            }
        }

        if(adj[e[pqi.s].s.s].size() == 2){
            ll a = *(adj[e[pqi.s].s.s].begin());
            ll b = *(++adj[e[pqi.s].s.s].begin());

            if(eid.find({min(a, b), max(a, b)}) != eid.end()){
                e[eid[{min(a, b), max(a, b)}]].f -= 2;

                if(!v[eid[{min(a, b), max(a, b)}]] && e[eid[{min(a, b), max(a, b)}]].f == 0){
                    pq.push({0, eid[{min(a, b), max(a, b)}]});
                }
            }
        }else if(adj[e[pqi.s].s.s].size() == 1){
            ll a = *(adj[e[pqi.s].s.s].begin());
            if(!v[eid[{min(a, e[pqi.s].s.s), max(a, e[pqi.s].s.s)}]]){
                pq.push({1, eid[{min(a, e[pqi.s].s.s), max(a, e[pqi.s].s.s)}]});
            }
        }
    }

    FOR(i, 1, m) if(!v[i]){
        cout << 0 << endl;
        return 0;
    } 

    FOR(i, 1, m) cout << d[i] << endl;*/
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 8540 KB Output isn't correct
2 Incorrect 1 ms 8540 KB Output isn't correct
3 Incorrect 1 ms 8796 KB Output isn't correct
4 Incorrect 76 ms 26036 KB Output isn't correct
5 Incorrect 1 ms 8536 KB Output isn't correct
6 Incorrect 1 ms 8540 KB Output isn't correct
7 Incorrect 1 ms 8540 KB Output isn't correct
8 Incorrect 1 ms 8540 KB Output isn't correct
9 Incorrect 1 ms 8796 KB Output isn't correct
10 Incorrect 1 ms 8796 KB Output isn't correct
11 Incorrect 1 ms 8796 KB Output isn't correct
12 Incorrect 1 ms 8796 KB Output isn't correct
13 Incorrect 60 ms 22816 KB Output isn't correct
14 Incorrect 73 ms 25292 KB Output isn't correct
15 Incorrect 77 ms 26304 KB Output isn't correct
16 Incorrect 70 ms 23756 KB Output isn't correct
17 Incorrect 73 ms 26064 KB Output isn't correct
18 Incorrect 78 ms 26060 KB Output isn't correct
19 Incorrect 67 ms 25168 KB Output isn't correct
20 Incorrect 1 ms 8540 KB Output isn't correct
21 Incorrect 1 ms 8796 KB Output isn't correct
22 Incorrect 71 ms 26104 KB Output isn't correct
23 Incorrect 56 ms 22748 KB Output isn't correct
24 Incorrect 98 ms 26608 KB Output isn't correct
25 Incorrect 58 ms 23508 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 8540 KB Output isn't correct
2 Incorrect 2 ms 8796 KB Output isn't correct
3 Incorrect 70 ms 24784 KB Output isn't correct
4 Incorrect 68 ms 25428 KB Output isn't correct
5 Incorrect 75 ms 25800 KB Output isn't correct
6 Runtime error 96 ms 58996 KB Execution killed with signal 11
7 Incorrect 1 ms 8536 KB Output isn't correct
8 Incorrect 1 ms 8540 KB Output isn't correct
9 Incorrect 1 ms 8540 KB Output isn't correct
10 Incorrect 1 ms 8540 KB Output isn't correct
11 Incorrect 1 ms 8540 KB Output isn't correct
12 Incorrect 1 ms 8540 KB Output isn't correct
13 Incorrect 1 ms 8792 KB Output isn't correct
14 Incorrect 1 ms 8540 KB Output isn't correct
15 Incorrect 1 ms 8796 KB Output isn't correct
16 Incorrect 1 ms 8796 KB Output isn't correct
17 Incorrect 1 ms 8796 KB Output isn't correct
18 Incorrect 1 ms 8796 KB Output isn't correct
19 Incorrect 1 ms 8796 KB Output isn't correct
20 Incorrect 1 ms 8796 KB Output isn't correct
21 Incorrect 2 ms 9052 KB Output isn't correct
22 Incorrect 1 ms 8796 KB Output isn't correct
23 Incorrect 59 ms 22412 KB Output isn't correct
24 Incorrect 90 ms 25548 KB Output isn't correct
25 Incorrect 68 ms 24784 KB Output isn't correct
26 Incorrect 69 ms 25432 KB Output isn't correct
27 Incorrect 67 ms 25168 KB Output isn't correct
28 Runtime error 77 ms 52048 KB Execution killed with signal 11
29 Runtime error 104 ms 62428 KB Execution killed with signal 11
30 Incorrect 67 ms 24884 KB Output isn't correct
31 Incorrect 68 ms 25168 KB Output isn't correct
32 Incorrect 77 ms 26108 KB Output isn't correct
33 Incorrect 93 ms 25544 KB Output isn't correct
34 Incorrect 68 ms 25424 KB Output isn't correct
35 Incorrect 68 ms 25424 KB Output isn't correct
36 Runtime error 75 ms 50604 KB Execution killed with signal 11
37 Runtime error 104 ms 59220 KB Execution killed with signal 11
38 Incorrect 73 ms 25424 KB Output isn't correct
39 Incorrect 71 ms 26056 KB Output isn't correct
40 Incorrect 71 ms 25552 KB Output isn't correct
41 Incorrect 77 ms 25148 KB Output isn't correct
42 Incorrect 78 ms 25168 KB Output isn't correct
43 Incorrect 72 ms 25168 KB Output isn't correct
44 Incorrect 71 ms 25800 KB Output isn't correct
45 Runtime error 81 ms 54308 KB Execution killed with signal 11
46 Incorrect 83 ms 25172 KB Output isn't correct
47 Incorrect 72 ms 25572 KB Output isn't correct
48 Incorrect 68 ms 25372 KB Output isn't correct
49 Incorrect 67 ms 25288 KB Output isn't correct
50 Incorrect 71 ms 25552 KB Output isn't correct
51 Incorrect 81 ms 25548 KB Output isn't correct
52 Incorrect 69 ms 25172 KB Output isn't correct
53 Runtime error 85 ms 55892 KB Execution killed with signal 11
54 Incorrect 72 ms 25300 KB Output isn't correct