Submission #3766336


Source Code Expand

#include<bits/stdc++.h>
#define fi first
#define se second
#ifdef CX_TEST
#define Debug printf
#else
#define Debug(...)
#endif
#define LL long long
using namespace std;
typedef pair<int, int> P;
const int maxn = 1e5 + 5;

int a[maxn], b[maxn], c[maxn], p[maxn];
LL s[maxn], d[maxn];
bool vis[maxn];
vector<int> g[maxn];

bool cmp(const int x, const int y) {
    return a[x] < a[y];
}

int ff(int x) {
    if(p[x] != x) p[x] = ff(p[x]);
    return p[x];
}

int main() {
#ifdef CX_TEST
    freopen("E:\\program--GG\\test_in.txt", "r", stdin);
#endif
    int n, m, i, j, u, v;
    scanf("%d%d", &n, &m);
    for(i = 1;i <= n; i++) {
        scanf("%d%d", &a[i], &b[i]);
        a[i] = max(a[i] - b[i], 0);
        s[i] = b[i];
        d[i] = a[i];
    }
    for(i = 0;i < m; i++) {
        scanf("%d%d", &u, &v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    for(i = 1;i <= n; i++) c[i] = i;
    for(i = 1;i <= n; i++) p[i] = i;
    sort(c + 1, c + n + 1, cmp);
    for(i = 1;i <= n; i++) {
        j = c[i];
        vis[j] = 1;
        for(auto e:g[j]) {
            if(vis[e]) {
                u = ff(j), v = ff(e);
                if(u != v) {
                    s[u] += s[v];
                    p[v] = u;
                    d[u] = min(d[u], d[v] + max(0LL, a[u] - d[v] - s[v]));
                }
            }
        }
    }
    cout << s[c[n]] + d[c[n]] << endl;
    return 0;
}

Submission Info

Submission Time
Task F - Donation
User vjudge4
Language C++14 (GCC 5.4.1)
Score 1000
Code Size 1405 Byte
Status AC
Exec Time 73 ms
Memory 9084 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:33:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
                          ^
./Main.cpp:35:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &a[i], &b[i]);
                                    ^
./Main.cpp:41:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &u, &v);
                              ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 3
AC × 54
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 4352 KB
sample_02.txt AC 3 ms 4352 KB
sample_03.txt AC 3 ms 4352 KB
subtask_1_01.txt AC 3 ms 4352 KB
subtask_1_02.txt AC 5 ms 4480 KB
subtask_1_03.txt AC 19 ms 5504 KB
subtask_1_04.txt AC 3 ms 4352 KB
subtask_1_05.txt AC 3 ms 4352 KB
subtask_1_06.txt AC 3 ms 4352 KB
subtask_1_07.txt AC 3 ms 4352 KB
subtask_1_08.txt AC 3 ms 4352 KB
subtask_1_09.txt AC 3 ms 4352 KB
subtask_1_10.txt AC 3 ms 4352 KB
subtask_1_11.txt AC 3 ms 4352 KB
subtask_1_12.txt AC 3 ms 4352 KB
subtask_1_13.txt AC 16 ms 5248 KB
subtask_1_14.txt AC 6 ms 4608 KB
subtask_1_15.txt AC 18 ms 5120 KB
subtask_1_16.txt AC 55 ms 8192 KB
subtask_1_17.txt AC 24 ms 5504 KB
subtask_1_18.txt AC 59 ms 8448 KB
subtask_1_19.txt AC 23 ms 5376 KB
subtask_1_20.txt AC 63 ms 8320 KB
subtask_1_21.txt AC 61 ms 8572 KB
subtask_1_22.txt AC 25 ms 6272 KB
subtask_1_23.txt AC 25 ms 6272 KB
subtask_1_24.txt AC 18 ms 5632 KB
subtask_1_25.txt AC 14 ms 5120 KB
subtask_1_26.txt AC 49 ms 8064 KB
subtask_1_27.txt AC 41 ms 7424 KB
subtask_1_28.txt AC 5 ms 4480 KB
subtask_1_29.txt AC 47 ms 7168 KB
subtask_1_30.txt AC 64 ms 8320 KB
subtask_1_31.txt AC 12 ms 4864 KB
subtask_1_32.txt AC 72 ms 8960 KB
subtask_1_33.txt AC 65 ms 8960 KB
subtask_1_34.txt AC 63 ms 8960 KB
subtask_1_35.txt AC 63 ms 8960 KB
subtask_1_36.txt AC 68 ms 8960 KB
subtask_1_37.txt AC 61 ms 8960 KB
subtask_1_38.txt AC 68 ms 9084 KB
subtask_1_39.txt AC 61 ms 9084 KB
subtask_1_40.txt AC 62 ms 9084 KB
subtask_1_41.txt AC 58 ms 9084 KB
subtask_1_42.txt AC 69 ms 8960 KB
subtask_1_43.txt AC 62 ms 8960 KB
subtask_1_44.txt AC 63 ms 8960 KB
subtask_1_45.txt AC 62 ms 8960 KB
subtask_1_46.txt AC 73 ms 8960 KB
subtask_1_47.txt AC 72 ms 8960 KB
subtask_1_48.txt AC 73 ms 8960 KB