编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#18103 #1008. H. 开疆辟土,公司成立 Time Limit Exceeded 0 4106 ms 98976 K C++ 11 / 1.2 K Diorvh 2019-07-15 3:08:48
显示原始代码
#include <bits/stdc++.h>
using namespace std;
#define MAX 400000
#define ll long long
struct E {
    ll u, v, value;
    E(ll a = 0, ll b = 0, ll c = 0) : u(a), v(b), value(c) {}
    bool operator<(E x) { return (value > x.value); }
};
ll road[MAX];
ll fnd(ll x) { return (x == road[x]) ? x : road[x] = fnd(road[x]); }
void merge(ll u, ll v) { road[fnd(u)] = fnd(v); }
int main() {
    ll T, n, m, c1, c2;
    scanf("%d", &T);
    for (ll z = 1; z <= T; ++z) {
        vector<E> q;
        scanf("%d%d", &n, &m);
        ll total = 0, ans = 0;
        for (ll i = 1; i <= n; ++i)
            for (ll j = 1; j <= m; ++j) {
                scanf("%d%d", &c1, &c2);
                total += c1 + c2;
                ll b = (i - 1) * m + j;
                if (b <= (n - 1) * m)
                    q.push_back(E(b, b + m, c1));
                if (b % m)
                    q.push_back(E(b, b + 1, c2));
            }
        sort(q.begin(), q.end());
        for (ll i = 1; i <= n * m; ++i) road[i] = i;
        for (ll i = 0; i <= n * m - 1; ++i)
            if (fnd(q[i].u) != fnd(q[i].v)) {
                merge(q[i].u, q[i].v);
                ans += q[i].value;
            }
        printf("%d\n", total - ans);
    }
    return 0;
}
子任务 #1
Time Limit Exceeded
得分:0
测试点 #1
Time Limit Exceeded
得分:0
用时:1006 ms
内存:98976 KiB

输入文件(1.in

17
3 3
1 9
7 8
4 0
2 6
12 5
3 0
0 10
0 11
0 0
5 3
10 10
6 5
8 0
9 2
8 1
5 0
5 1
7 
<2829398 bytes omitted>

答案文件(1.ans

10
20
0
7
0
123
163
244
999
1671
100930
181216
80898
1402126
60776271
1014605
19212781
测试点 #2
Time Limit Exceeded
得分:0
用时:1044 ms
内存:98896 KiB

输入文件(2.in

1
464 491
795 867
164 87
803 106
734 583
278 855
600 628
824 780
992 364
778 598
747 423

<1999727 bytes omitted>

答案文件(2.ans

60198435
测试点 #3
Time Limit Exceeded
得分:0
用时:1038 ms
内存:98948 KiB

输入文件(3.in

1
491 462
33 971
433 904
185 869
103 87
507 127
238 315
994 56
215 73
771 129
430 505
281
<1990927 bytes omitted>

答案文件(3.ans

59997625
测试点 #4
Time Limit Exceeded
得分:0
用时:1018 ms
内存:98968 KiB

输入文件(4.in

1
500 500
613 369
811 452
954 965
32 666
60 515
235 679
26 708
45 831
470 788
371 261
101
<2193863 bytes omitted>

答案文件(4.ans

66160818