Submission #30082435


Source Code Expand

// #include <atcoder/all>
// using namespace atcoder;
// using mint = modint998244353;
// using mint = modint1000000007;
#include <bits/stdc++.h>
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define rep2(i,k,n) for (int i = (k); i < (n); ++i)
using namespace std;
using ll = long long;
// using P = pair<ll,ll>;
using P = pair<int,int>;
using vint = vector<int>;
using vll = vector<ll>;
using vvint = vector<vector<int>>;
using vvll = vector<vector<ll>>;

const ll INF = (ll)2e18+9;
// const int INF = (int)2e9+7;
// const ll MOD = (ll)1e9+9;
template<typename T>
void chmin(T &a, T b) { a = min(a, b); }
template<typename T>
void chmax(T &a, T b) { a = max(a, b); }

template<typename T>
void print(vector<T> v) {
    int n = v.size();
    rep(i,n) {
        if (i == 0) cout << v[i];
        else cout << ' ' << v[i];
    }
    cout << endl;
}

struct Path {
    ll from, to, cost;
};

void solve() {
    int n, m;
    cin >> n >> m;
    vvll dist(n, vll(n, INF));

    vector<Path> paths;
    rep(i,m) {
        ll a, b, c;
        cin >> a >> b >> c;
        a--, b--;
        dist[a][b] = dist[b][a] = c;
        paths.push_back({a, b, c});
    }

    rep(k,n) rep(i,n) rep(j,n) chmin(dist[i][j], dist[i][k] + dist[k][j]);

    ll ans = 0;
    for (auto [from, to, cost] : paths) {
        int unused = 0;
        rep(i,n) {
            if (dist[from][i] + dist[i][to] <= cost) {
                unused = 1;
            }
        }
        ans += unused;
    }

    cout << ans << endl;
}

int main() {
    solve();
    return 0;
}

Submission Info

Submission Time
Task E - Edge Deletion
User goropikari
Language C++ (GCC 9.2.1)
Score 500
Code Size 1692 Byte
Status AC
Exec Time 76 ms
Memory 5684 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 24
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 02_perfect_00.txt, 02_perfect_01.txt, 02_perfect_02.txt, 02_perfect_03.txt, 02_perfect_04.txt, 02_perfect_05.txt, 03_anti-dijkstra_00.txt, 03_anti-dijkstra_01.txt, 03_anti-dijkstra_02.txt, 03_anti-dijkstra_03.txt, 04_random_00.txt, 04_random_01.txt, 05_tree_00.txt, 05_tree_01.txt, 06_path_00.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 6 ms 3556 KiB
00_sample_01.txt AC 3 ms 3604 KiB
00_sample_02.txt AC 2 ms 3528 KiB
01_small_00.txt AC 5 ms 3624 KiB
01_small_01.txt AC 4 ms 3568 KiB
01_small_02.txt AC 5 ms 3692 KiB
01_small_03.txt AC 7 ms 3704 KiB
01_small_04.txt AC 3 ms 3664 KiB
01_small_05.txt AC 4 ms 3668 KiB
02_perfect_00.txt AC 76 ms 5620 KiB
02_perfect_01.txt AC 71 ms 5684 KiB
02_perfect_02.txt AC 71 ms 5432 KiB
02_perfect_03.txt AC 67 ms 5428 KiB
02_perfect_04.txt AC 65 ms 5528 KiB
02_perfect_05.txt AC 64 ms 5528 KiB
03_anti-dijkstra_00.txt AC 72 ms 5424 KiB
03_anti-dijkstra_01.txt AC 70 ms 5536 KiB
03_anti-dijkstra_02.txt AC 71 ms 5584 KiB
03_anti-dijkstra_03.txt AC 65 ms 5496 KiB
04_random_00.txt AC 55 ms 4808 KiB
04_random_01.txt AC 54 ms 4736 KiB
05_tree_00.txt AC 36 ms 4240 KiB
05_tree_01.txt AC 35 ms 4136 KiB
06_path_00.txt AC 36 ms 4288 KiB