Submission #1405133


Source Code Expand

fn solve() -> String {
    let (n, m) = readln();
    let mut g = vec![Vec::new(); n];
    for _ in 0..m {
        let (a, b, c): (usize, usize, i64) = readln();
        g[a-1].push((b-1, -c));
    }
    let mut cost = vec![None; n];
    cost[0] = Some(0);
    for i in 0..n {
        for u in 0..n {
            if let Some(cur) = cost[u] {
                for &(v, c) in &g[u] {
                    let next = cur + c;
                    if cost[v].unwrap_or(i64::max_value()) > next && i == n-1 && v == n-1 {
                        return "inf".to_string();
                    }
                    cost[v] = Some(cost[v].map_or(next, |x| min(x, next)));
                }
            }
        }
    }
    (-(cost[n-1].unwrap())).to_string()
}
fn main() {
    println!("{}", solve());
}

// --- template ---
#[allow(unused_imports)]
use std::cmp::{max, min};
#[allow(unused_imports)]
use std::collections::HashSet;

pub trait FromLn {
    fn fromln(s: &str) -> Self;
}
pub fn readln<T: FromLn>() -> T {
    let mut buf = String::new();
    let _ = ::std::io::stdin().read_line(&mut buf).unwrap();
    T::fromln(buf.trim())
}
pub fn readlns<T: FromLn>(n: usize) -> Vec<T> {
    let mut vs = vec![];
    for _ in 0..n { vs.push(readln()); }
    vs
}
macro_rules! fromln_primitives {
    ($($t:ty),*) => { $(
        impl FromLn for $t {
            fn fromln(s: &str) -> $t {
                s.parse().unwrap()
            }
        }
    )* }
}
fromln_primitives!(String, bool, f32, f64, isize, i8, i16, i32, i64, usize, u8, u16, u32, u64);
impl<T> FromLn for Vec<T> where T: FromLn {
    fn fromln(s: &str) -> Vec<T> {
        s.split_whitespace().map(T::fromln).collect()
    }
}
impl FromLn for Vec<char> {
    fn fromln(s: &str) -> Vec<char> {
        s.chars().collect()
    }
}
macro_rules! fromln_tuple {
    ($($t:ident),*) => {
        impl<$($t),*> FromLn for ($($t),*) where $($t: FromLn),* {
            fn fromln(s: &str) -> ($($t),*) {
                let mut it = s.split_whitespace();
                let t = ($($t::fromln(it.next().unwrap())),*);
                assert_eq!(it.next(), None);
                t
            }
        }
    }
}
fromln_tuple!(A, B);
fromln_tuple!(A, B, C);
fromln_tuple!(A, B, C, D);
fromln_tuple!(A, B, C, D, E);
fromln_tuple!(A, B, C, D, E, F);

Submission Info

Submission Time
Task D - Score Attack
User ichyo
Language Rust (1.15.1)
Score 400
Code Size 2382 Byte
Status AC
Exec Time 11 ms
Memory 4352 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 30
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 2 ms 4352 KB
sample_02.txt AC 2 ms 4352 KB
sample_03.txt AC 2 ms 4352 KB
subtask_1_1.txt AC 3 ms 4352 KB
subtask_1_10.txt AC 2 ms 4352 KB
subtask_1_11.txt AC 3 ms 4352 KB
subtask_1_12.txt AC 7 ms 4352 KB
subtask_1_13.txt AC 3 ms 4352 KB
subtask_1_14.txt AC 8 ms 4352 KB
subtask_1_15.txt AC 11 ms 4352 KB
subtask_1_16.txt AC 2 ms 4352 KB
subtask_1_17.txt AC 2 ms 4352 KB
subtask_1_18.txt AC 5 ms 4352 KB
subtask_1_19.txt AC 10 ms 4352 KB
subtask_1_2.txt AC 8 ms 4352 KB
subtask_1_20.txt AC 3 ms 4352 KB
subtask_1_21.txt AC 7 ms 4352 KB
subtask_1_22.txt AC 11 ms 4352 KB
subtask_1_23.txt AC 2 ms 4352 KB
subtask_1_24.txt AC 7 ms 4352 KB
subtask_1_25.txt AC 3 ms 4352 KB
subtask_1_26.txt AC 8 ms 4352 KB
subtask_1_27.txt AC 8 ms 4352 KB
subtask_1_3.txt AC 5 ms 4352 KB
subtask_1_4.txt AC 8 ms 4352 KB
subtask_1_5.txt AC 4 ms 4352 KB
subtask_1_6.txt AC 8 ms 4352 KB
subtask_1_7.txt AC 7 ms 4352 KB
subtask_1_8.txt AC 8 ms 4352 KB
subtask_1_9.txt AC 2 ms 4352 KB