Submission #3994873


Source Code Expand

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <sstream>
#include <complex>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <iomanip>
using namespace std;
typedef long long unsigned int ll;
template<typename T> using min_priority_queue = priority_queue<T, vector<T>, greater<T>>;

#define EPS (1e-7)
#define INF (1e9)
#define PI (acos(-1))
#define MOD 1000000007

#define REP(i,n) for(int i=0;i<n;i++)
#define REPS(i,f,n) for(int i=(f);i<(n);i++)
#define EACH(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++)

#define dump(x)  cout << #x << " = " << (x) << endl;
#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;

typedef pair<int, int> P;
typedef pair<ll, ll> LP;
typedef pair<int, P> PP;
typedef pair<ll, LP> LPP;

int dy4[]={0, 0, 1, -1};
int dx4[]={1, -1, 0, 0};
int dx8[]={0, 0, 1, -1, 1, 1, -1, -1};
int dy8[]={1, -1, 0, 0, 1, -1, -1, 1};

// https://atcoder.jp/contests/abc012/tasks/abc012_4

int N, M;
struct Edge
{
    int to;
    int cost;
};
vector<Edge>G[333];

int dijkstra(int s) {
    int dst[N];
    fill(dst, dst + N, INF);
    min_priority_queue<P> q;
    q.push({0, s});
    dst[s] = 0;

    while(!q.empty()) {
        P p = q.top(); q.pop();
        int v = p.second;

        if (dst[v] < p.first) {
            continue;
        }

        for (Edge e : G[v]) {
            if (dst[e.to] > dst[v] + e.cost) {
                dst[e.to] = dst[v] + e.cost;
                q.push({dst[e.to], e.to});
            }
        }
    }

    int max = 0;
    REP(i, N) {
        max = std::max(max, dst[i]);
    }
    return max;
}

int main() {
    cin >> N >> M;
    int a, b, t;
    REP(i, M) {
        cin >> a >> b >> t;
        a--; b--;
        G[a].push_back({b, t});
        G[b].push_back({a, t});
    }

    int min = INF;
    REP(i, N) {
        min = std::min(min, dijkstra(i));
    }
    cout << min << "\n";

    return 0;
}

Submission Info

Submission Time
Task D - バスと避けられない運命
User wakamenod
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2174 Byte
Status AC
Exec Time 105 ms
Memory 1536 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 39
Set Name Test Cases
All sample_01.txt, sample_02.txt, sample_03.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, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
test_01.txt AC 1 ms 256 KB
test_02.txt AC 7 ms 256 KB
test_03.txt AC 105 ms 1536 KB
test_04.txt AC 14 ms 256 KB
test_05.txt AC 40 ms 640 KB
test_06.txt AC 7 ms 384 KB
test_07.txt AC 81 ms 1408 KB
test_08.txt AC 2 ms 256 KB
test_09.txt AC 30 ms 640 KB
test_10.txt AC 6 ms 384 KB
test_11.txt AC 7 ms 384 KB
test_12.txt AC 26 ms 384 KB
test_13.txt AC 7 ms 384 KB
test_14.txt AC 9 ms 384 KB
test_15.txt AC 76 ms 1408 KB
test_16.txt AC 11 ms 384 KB
test_17.txt AC 33 ms 640 KB
test_18.txt AC 25 ms 384 KB
test_19.txt AC 11 ms 384 KB
test_20.txt AC 10 ms 384 KB
test_21.txt AC 1 ms 256 KB
test_22.txt AC 14 ms 384 KB
test_23.txt AC 2 ms 256 KB
test_24.txt AC 4 ms 256 KB
test_25.txt AC 4 ms 256 KB
test_26.txt AC 2 ms 256 KB
test_27.txt AC 3 ms 256 KB
test_28.txt AC 4 ms 256 KB
test_29.txt AC 4 ms 256 KB
test_30.txt AC 2 ms 256 KB
test_31.txt AC 1 ms 256 KB
test_32.txt AC 4 ms 256 KB
test_33.txt AC 4 ms 256 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 2 ms 256 KB
test_36.txt AC 4 ms 256 KB