Submission #1285647
Source Code Expand
#include<iostream>
#include<iomanip>
#include<cstdlib>
#include<stdio.h>
#include<time.h>
#include<math.h>
#include<algorithm>
#include<string>
#include<vector>
#include<list>
#include<queue>
#include<stack>
#include<deque>
#include<set>
#include<map>
#define REP(i, N) for(ll i = 0; i < N; ++i)
#define FOR(i, a, b) for(ll i = a; i < b; ++i)
#define ALL(a) (a).begin(),(a).end()
#define pb push_back
#define INF 1000000000000000000
#define MOD 1000000007
using namespace std;
typedef long long ll;
typedef pair<ll, ll> P;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int qx[8] = {1, 1, 0, -1, -1, -1, 0, 1};
int qy[8] = {0, 1, 1, 1, 0, -1, -1, -1};
struct edge{__int128 from, to, cost;};
int main(void) {
ll N, M;
cin>>N>>M;
vector<__int128> d(N, -INF);
vector<edge> es(M);
REP(i, M) {
ll a, b, c;
cin>>a>>b>>c;
--a;
--b;
edge e = {a, b, c};
es[i] = e;
}
d[0] = 0;
__int128 cnt = 0;
ll cnthoge = 0;
bool f = false;
while(true) {
if(f || d[N - 1] > 10000000000000 || d[N - 1] < -10000000000000 && d[N - 1] != -INF || cnt > 10000) {
f = true;
break;
}
bool update = false;
REP(i, es.size()) {
edge e = es[i];
if(d[e.from] != -INF && d[e.to] < d[e.from] + e.cost) {
d[e.to] = d[e.from] + e.cost;
if(e.to == N - 1) ++cnthoge;
if(d[e.to] > 10000000000000 || d[e.to] < -10000000000000) {
f = true;
break;
}
update = true;
}
}
if(!update) break;
++cnt;
}
if(f && cnthoge > 1000)cout<<"inf"<<endl;
else {
if(d[N - 1] == -INF) {
cout<<0<<endl;
} else {
ll ans = d[N - 1];
cout<<ans<<endl;
}
}
}
Submission Info
Submission Time |
|
Task |
D - Score Attack |
User |
gazelle |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
1678 Byte |
Status |
AC |
Exec Time |
44 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 |
1 ms |
256 KB |
subtask_1_10.txt |
AC |
2 ms |
256 KB |
subtask_1_11.txt |
AC |
4 ms |
256 KB |
subtask_1_12.txt |
AC |
8 ms |
384 KB |
subtask_1_13.txt |
AC |
1 ms |
256 KB |
subtask_1_14.txt |
AC |
7 ms |
256 KB |
subtask_1_15.txt |
AC |
8 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 |
2 ms |
256 KB |
subtask_1_19.txt |
AC |
2 ms |
384 KB |
subtask_1_2.txt |
AC |
2 ms |
256 KB |
subtask_1_20.txt |
AC |
1 ms |
256 KB |
subtask_1_21.txt |
AC |
2 ms |
256 KB |
subtask_1_22.txt |
AC |
3 ms |
384 KB |
subtask_1_23.txt |
AC |
2 ms |
256 KB |
subtask_1_24.txt |
AC |
2 ms |
384 KB |
subtask_1_25.txt |
AC |
28 ms |
256 KB |
subtask_1_26.txt |
AC |
2 ms |
256 KB |
subtask_1_27.txt |
AC |
44 ms |
256 KB |
subtask_1_3.txt |
AC |
2 ms |
256 KB |
subtask_1_4.txt |
AC |
2 ms |
256 KB |
subtask_1_5.txt |
AC |
26 ms |
256 KB |
subtask_1_6.txt |
AC |
43 ms |
256 KB |
subtask_1_7.txt |
AC |
2 ms |
256 KB |
subtask_1_8.txt |
AC |
2 ms |
256 KB |
subtask_1_9.txt |
AC |
1 ms |
256 KB |