Submission #1517278
Source Code Expand
#include <bits/stdc++.h> #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) using namespace std; int main() { int N, M; cin >> N >> M; vector<vector<int> > connect(N, vector<int>(N, -1)); REP (i, M) { int u, v, l; cin >> u >> v >> l; u--; v--; connect[u][v] = l; connect[v][u] = l; } long long ans = INT_MAX; REP (i, N) { //繋がってなかったら無視 if (connect[0][i] == -1) continue; //繋がってたら移動して,その道を除去 //そうしてから0への最短経路を求める long long distance = connect[i][0]; connect[i][0] = -1; priority_queue<int> pq; pq.push(i); vector<long long> cost(N, INT_MAX); cost[i] = 0; while (!pq.empty()) { int curr = pq.top(); pq.pop(); //printf("curr = %d\n", curr); REP (j, N) { if (connect[curr][j] == -1) continue; long long new_cost = cost[curr] + connect[curr][j]; if (new_cost < cost[j]) { cost[j] = new_cost; pq.push(j); } } } //REP (k, N) printf("cost[%d] = %lld\n", k, cost[k]); //復元 connect[i][0] = distance; distance += cost[0]; //printf("distance = %lld\n", distance); ans = min(ans, distance); } if (ans != INT_MAX) cout << ans << endl; else cout << -1 << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - Blue Bird |
User | tokumini |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1703 Byte |
Status | AC |
Exec Time | 908 ms |
Memory | 640 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.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 |
subtask1_01.txt | AC | 194 ms | 384 KB |
subtask1_02.txt | AC | 85 ms | 384 KB |
subtask1_03.txt | AC | 522 ms | 512 KB |
subtask1_04.txt | AC | 2 ms | 256 KB |
subtask1_05.txt | AC | 77 ms | 384 KB |
subtask1_06.txt | AC | 494 ms | 512 KB |
subtask1_07.txt | AC | 16 ms | 256 KB |
subtask1_08.txt | AC | 1 ms | 256 KB |
subtask1_09.txt | AC | 446 ms | 512 KB |
subtask1_10.txt | AC | 172 ms | 384 KB |
subtask1_11.txt | AC | 1 ms | 256 KB |
subtask1_12.txt | AC | 26 ms | 512 KB |
subtask1_13.txt | AC | 41 ms | 256 KB |
subtask1_14.txt | AC | 2 ms | 256 KB |
subtask1_15.txt | AC | 908 ms | 640 KB |
subtask1_16.txt | AC | 488 ms | 640 KB |
subtask1_17.txt | AC | 28 ms | 640 KB |
subtask1_18.txt | AC | 720 ms | 640 KB |
subtask1_19.txt | AC | 748 ms | 640 KB |
subtask1_20.txt | AC | 120 ms | 640 KB |
subtask1_21.txt | AC | 224 ms | 640 KB |
subtask1_22.txt | AC | 901 ms | 640 KB |
subtask1_23.txt | AC | 823 ms | 640 KB |
subtask1_24.txt | AC | 176 ms | 640 KB |
subtask1_25.txt | AC | 530 ms | 640 KB |
subtask1_26.txt | AC | 122 ms | 640 KB |
subtask1_27.txt | AC | 119 ms | 640 KB |
subtask1_28.txt | AC | 28 ms | 640 KB |
subtask1_29.txt | AC | 127 ms | 640 KB |
subtask1_30.txt | AC | 2 ms | 640 KB |