Submission #1281238
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long int64;
using Weight = int64;
using Flow = int64;
struct Edge
{
int src, dst;
Weight weight;
Flow cap;
Edge() : src(0), dst(0), weight(0) {}
Edge(int s, int d, Weight w) : src(s), dst(d), weight(w) {}
};
using Edges = std::vector< Edge >;
using Graph = std::vector< Edges >;
using Array = std::vector< Weight >;
using Matrix = std::vector< Array >;
void add_edge(Graph &g, int a, int b, Weight w = 1)
{
g[a].emplace_back(a, b, w);
g[b].emplace_back(b, a, w);
}
void add_arc(Graph &g, int a, int b, Weight w = 1) { g[a].emplace_back(a, b, w); }
void bellmanFord(const Graph &g, int s)
{
int n = g.size();
const Weight inf = std::numeric_limits< Weight >::max() / 8;
Edges es;
for(int i = 0; i < n; i++)
for(auto &e : g[i]) es.emplace_back(e);
std::vector< Weight > dist(n, -inf);
dist[s] = 0;
for(int i = 0; i <= 2 * n; i++) {
for(auto &e : es) {
if(dist[e.src] != inf && dist[e.dst] < dist[e.src] + e.weight) {
if(i > n && e.dst == g.size() - 1) {
cout << "inf" << endl;
return;
}
dist[e.dst] = dist[e.src] + e.weight;
}
}
}
cout << dist[g.size() - 1] << endl;
}
int main()
{
int N, M;
cin >> N >> M;
Graph g(N);
for(int i = 0; i < M; i++) {
int a, b, c;
cin >> a >> b >> c;
--a, --b;
add_arc(g, a, b, c);
}
bellmanFord(g, 0);
}
Submission Info
Submission Time |
|
Task |
D - Score Attack |
User |
ei13333 |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
1500 Byte |
Status |
AC |
Exec Time |
11 ms |
Memory |
384 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
400 / 400 |
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, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_2.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.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 |
subtask_1_1.txt |
AC |
2 ms |
256 KB |
subtask_1_10.txt |
AC |
1 ms |
256 KB |
subtask_1_11.txt |
AC |
2 ms |
256 KB |
subtask_1_12.txt |
AC |
6 ms |
384 KB |
subtask_1_13.txt |
AC |
1 ms |
256 KB |
subtask_1_14.txt |
AC |
5 ms |
384 KB |
subtask_1_15.txt |
AC |
11 ms |
384 KB |
subtask_1_16.txt |
AC |
1 ms |
256 KB |
subtask_1_17.txt |
AC |
1 ms |
256 KB |
subtask_1_18.txt |
AC |
4 ms |
384 KB |
subtask_1_19.txt |
AC |
6 ms |
384 KB |
subtask_1_2.txt |
AC |
4 ms |
384 KB |
subtask_1_20.txt |
AC |
1 ms |
256 KB |
subtask_1_21.txt |
AC |
4 ms |
384 KB |
subtask_1_22.txt |
AC |
8 ms |
384 KB |
subtask_1_23.txt |
AC |
1 ms |
256 KB |
subtask_1_24.txt |
AC |
5 ms |
384 KB |
subtask_1_25.txt |
AC |
3 ms |
384 KB |
subtask_1_26.txt |
AC |
4 ms |
384 KB |
subtask_1_27.txt |
AC |
5 ms |
384 KB |
subtask_1_3.txt |
AC |
3 ms |
384 KB |
subtask_1_4.txt |
AC |
4 ms |
384 KB |
subtask_1_5.txt |
AC |
2 ms |
256 KB |
subtask_1_6.txt |
AC |
4 ms |
384 KB |
subtask_1_7.txt |
AC |
4 ms |
384 KB |
subtask_1_8.txt |
AC |
4 ms |
384 KB |
subtask_1_9.txt |
AC |
1 ms |
256 KB |