Submission #34557427


Source Code Expand

#include"bits/stdc++.h"

using namespace std;

vector<int> g[201000];
struct node {
    long long pd;
    int pa;
    int id;
    node(int id, int pa, long long pd): id(id), pa(pa), pd(pd) {}
    bool operator<(const node& nd) const {
        return pd > nd.pd || pd == nd.pd && pa > nd.pa;
    }
};

int main() {
    // freopen("E.in" , "r" , stdin);
    // freopen("E.out" , "w" , stdout);
    int n, m;
    cin >> n >> m;
    vector<int> a(n+1);
    for (int i = 1; i <= n; ++i) cin >> a[i];
    vector<long long > d(n+1);
    for (int i = 0; i < m; ++i) {
        int u, v;
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
        d[u] += a[v];
        d[v] += a[u];
    }
    long long ans = 0;
    priority_queue<node> q;
    for (int i = 1; i <= n; ++i) {
        q.push(node(i, a[i], d[i]));
    }
    while (!q.empty()) {
        node t = q.top(); q.pop();
        int x = t.id;
        if (d[x] == -1 || d[x] != t.pd) continue;
        ans = max(ans, d[x]);
        d[x] = -1;
        for (int i = 0; i < g[x].size(); ++i) {
            int y = g[x][i];
            if (d[y] == -1) continue;
            d[y] -= a[x];
            q.push(node(y, a[y], d[y]));
        }
    }
    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task E - Erasing Vertices 2
User ZzZZCHS
Language C++ (GCC 9.2.1)
Score 500
Code Size 1308 Byte
Status AC
Exec Time 291 ms
Memory 19848 KiB

Compile Error

./Main.cpp: In constructor ‘node::node(int, int, long long int)’:
./Main.cpp:9:9: warning: ‘node::id’ will be initialized after [-Wreorder]
    9 |     int id;
      |         ^~
./Main.cpp:8:9: warning:   ‘int node::pa’ [-Wreorder]
    8 |     int pa;
      |         ^~
./Main.cpp:10:5: warning:   when initialized here [-Wreorder]
   10 |     node(int id, int pa, long long pd): id(id), pa(pa), pd(pd) {}
      |     ^~~~
./Main.cpp:8:9: warning: ‘node::pa’ will be initialized after [-Wreorder]
    8 |     int pa;
      |         ^~
./Main.cpp:7:15: warning:   ‘long long int node::pd’ [-Wreorder]
    7 |     long long pd;
      |               ^~
./Main.cpp:10:5: warning:   when initialized here [-Wreorder]
   10 |     node(int id, int pa, long long pd): id(id), pa(pa), pd(pd) {}
      |     ^~~~
./Main.cpp: In member function ‘bool node::operator<(const node&) const’:
./Main.cpp:12:42: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
   12 |         return pd > nd.pd || pd == nd.pd && pa > nd.pa;
      |                              ~~~~~~~~~~~~^~~~~~~~~~~~~
./Main.cpp: In function ‘int main()’:
./Main.cpp:43:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   43 |         for (int i = 0; i < g[x].size(); ++i) {
      |                         ~~^~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 32
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt
Case Name Status Exec Time Memory
example_00.txt AC 25 ms 8236 KiB
example_01.txt AC 8 ms 8264 KiB
test_00.txt AC 235 ms 18796 KiB
test_01.txt AC 111 ms 13392 KiB
test_02.txt AC 119 ms 14808 KiB
test_03.txt AC 270 ms 19508 KiB
test_04.txt AC 167 ms 16196 KiB
test_05.txt AC 91 ms 11584 KiB
test_06.txt AC 237 ms 18300 KiB
test_07.txt AC 44 ms 9596 KiB
test_08.txt AC 41 ms 9608 KiB
test_09.txt AC 99 ms 13020 KiB
test_10.txt AC 12 ms 8412 KiB
test_11.txt AC 54 ms 11124 KiB
test_12.txt AC 40 ms 9740 KiB
test_13.txt AC 16 ms 8372 KiB
test_14.txt AC 291 ms 19732 KiB
test_15.txt AC 284 ms 19696 KiB
test_16.txt AC 282 ms 19728 KiB
test_17.txt AC 272 ms 19824 KiB
test_18.txt AC 276 ms 19708 KiB
test_19.txt AC 270 ms 19776 KiB
test_20.txt AC 270 ms 19732 KiB
test_21.txt AC 284 ms 19848 KiB
test_22.txt AC 283 ms 19680 KiB
test_23.txt AC 291 ms 19832 KiB
test_24.txt AC 91 ms 14764 KiB
test_25.txt AC 90 ms 14792 KiB
test_26.txt AC 94 ms 14732 KiB
test_27.txt AC 90 ms 14956 KiB
test_28.txt AC 90 ms 14816 KiB
test_29.txt AC 90 ms 14980 KiB