Submission #1531678


Source Code Expand

#include <iostream>
#include <vector>
using namespace std;

using ll = long long;

const ll INF = (1LL << 50);

int main() {
    int N, M;
    cin >> N >> M;

    const int MAX_N = 2000;
    const int MAX_M = 3000;

    int a[MAX_M], b[MAX_M];
    ll  c[MAX_M];

    for (int i = 0; i < M; i++) {
        cin >> a[i] >> b[i] >> c[i];

        a[i]--;
        b[i]--;
        c[i] = -c[i];
    }

    ll dist[MAX_N];
    for (int i = 0; i < N; i++) dist[i] = INF;
    
    dist[0] = 0;
    for (int loop = 0; loop < N - 1; loop++) {
        for (int i = 0; i < M; i++) {
            if (dist[a[i]] == INF) continue;

            if (dist[b[i]] > dist[a[i]] + c[i]) {
                dist[b[i]] = dist[a[i]] + c[i];
            }
        }
    }

    ll ans = -dist[N - 1];

    bool negative[N];
    for (int i = 0; i < N; i++) negative[i] = false;

    for (int loop = 0; loop < N; loop++) {
        for (int i = 0; i < M; i++) {
            if (dist[a[i]] == INF) continue;

            if (dist[b[i]] > dist[a[i]] + c[i]) {
                dist[b[i]] = dist[a[i]] + c[i];
                negative[b[i]] = true;
            }

            if (negative[a[i]]) negative[b[i]] = true;
        }
    }

    if (negative[N - 1]) cout << "inf" << endl;
    else cout << ans << endl;

    return 0;
}

Submission Info

Submission Time
Task D - Score Attack
User myusa
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1358 Byte
Status AC
Exec Time 12 ms
Memory 256 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 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 256 KB
subtask_1_13.txt AC 1 ms 256 KB
subtask_1_14.txt AC 6 ms 256 KB
subtask_1_15.txt AC 10 ms 256 KB
subtask_1_16.txt AC 1 ms 256 KB
subtask_1_17.txt AC 1 ms 256 KB
subtask_1_18.txt AC 6 ms 256 KB
subtask_1_19.txt AC 6 ms 256 KB
subtask_1_2.txt AC 4 ms 256 KB
subtask_1_20.txt AC 1 ms 256 KB
subtask_1_21.txt AC 5 ms 256 KB
subtask_1_22.txt AC 12 ms 256 KB
subtask_1_23.txt AC 1 ms 256 KB
subtask_1_24.txt AC 6 ms 256 KB
subtask_1_25.txt AC 3 ms 256 KB
subtask_1_26.txt AC 4 ms 256 KB
subtask_1_27.txt AC 7 ms 256 KB
subtask_1_3.txt AC 3 ms 256 KB
subtask_1_4.txt AC 5 ms 256 KB
subtask_1_5.txt AC 3 ms 256 KB
subtask_1_6.txt AC 7 ms 256 KB
subtask_1_7.txt AC 4 ms 256 KB
subtask_1_8.txt AC 4 ms 256 KB
subtask_1_9.txt AC 1 ms 256 KB