Submission #3919116


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const int N = 200005;
const ll INF = ll(1e18);

struct E{ int s, e; ll x; };

int n, q, c, p[N];
ll v[N], w[N], r;
E e[2 * N];

int f(int x){ return p[x] = (x == p[x] ? x : f(p[x])); }

int main(){
    scanf("%d%d", &n, &q);
    fill(v, v + n, INF);
    fill(w, w + n, INF);
    for(int x, y, z; q--; ){
        scanf("%d%d%d", &x, &y, &z);
        v[x] = min(v[x], z + 1LL);
        v[y] = min(v[y], z + 2LL);
        e[c++] = {x, y, ll(z)};
    }
    ll m = INF;
    for(int i = 0; i < 2 * n; i++){
        m = min(m + 2, v[i % n]);
        w[i % n] = min(w[i % n], m);
    }
    for(int i = 0; i < n; i++) e[c++] = {i, (i + 1) % n, w[i]};
    sort(e, e + c, [](E x, E y){ return x.x < y.x; });
    iota(p, p + n, 0);
    for(int i = 0; i < c; i++){
        int x = f(e[i].s), y = f(e[i].e);
        if(x == y) continue;
        r += e[i].x;
        p[y] = x;
    }
    printf("%lld\n", r);
}

Submission Info

Submission Time
Task G - Zigzag MST
User kdh9949
Language C++14 (GCC 5.4.1)
Score 1300
Code Size 1005 Byte
Status AC
Exec Time 92 ms
Memory 10368 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:18:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &q);
                          ^
./Main.cpp:22:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d", &x, &y, &z);
                                    ^

Judge Result

Set Name sample all
Score / Max Score 0 / 0 1300 / 1300
Status
AC × 3
AC × 36
Set Name Test Cases
sample sample-01.txt, sample-02.txt, sample-03.txt
all sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 2 ms 2304 KB
01-02.txt AC 64 ms 6400 KB
01-03.txt AC 92 ms 10368 KB
01-04.txt AC 21 ms 8320 KB
01-05.txt AC 14 ms 8320 KB
01-06.txt AC 17 ms 8320 KB
01-07.txt AC 16 ms 8320 KB
01-08.txt AC 16 ms 8320 KB
01-09.txt AC 19 ms 8320 KB
01-10.txt AC 53 ms 10368 KB
01-11.txt AC 81 ms 9216 KB
01-12.txt AC 90 ms 10368 KB
01-13.txt AC 90 ms 10368 KB
01-14.txt AC 90 ms 10368 KB
01-15.txt AC 92 ms 10368 KB
01-16.txt AC 90 ms 10368 KB
01-17.txt AC 90 ms 10368 KB
01-18.txt AC 71 ms 10368 KB
01-19.txt AC 15 ms 8320 KB
01-20.txt AC 16 ms 8320 KB
01-21.txt AC 34 ms 8320 KB
01-22.txt AC 78 ms 10368 KB
01-23.txt AC 78 ms 10368 KB
01-24.txt AC 17 ms 8320 KB
01-25.txt AC 92 ms 10368 KB
01-26.txt AC 20 ms 8320 KB
01-27.txt AC 21 ms 8320 KB
01-28.txt AC 59 ms 10368 KB
01-29.txt AC 77 ms 9344 KB
01-30.txt AC 87 ms 10368 KB
sample-01.txt AC 2 ms 2304 KB
sample-02.txt AC 2 ms 2304 KB
sample-03.txt AC 2 ms 2304 KB