Submission #1281489


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define INF 100000000
#define YJ 1145141919
#define INF_INT_MAX 2147483647
#define INF_LL_MAX 9223372036854775807
#define EPS 1e-10
#define Pi acos(-1)
#define LL long long
#define ULL unsigned long long
#define LD long double

using namespace std;

#define MAX_N 1005

#define int long long

int N;
int M;

using II = pair<LL, LL>;

vector<II> Edge[MAX_N];

class edge{
public:
  int from, to, cost;
};

vector<edge> EdgeVec;

bool used[MAX_N];
LL score[MAX_N];

LL d[MAX_N];

bool find_loop()
{
  memset(d, 0, sizeof(d));
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < EdgeVec.size(); j++) {
      edge e = EdgeVec[j];
      if(d[e.to] > d[e.from] - e.cost){
        d[e.to] = d[e.from] - e.cost;

        if(i == N-1) return true;
      }
    }
  }

  return false;
}

void solve()
{

  if(find_loop()){
    cout << "inf" << endl;
    return;
  }

  priority_queue<II> que;
  que.push(II(0, 0));

  for (int i = 0; i < MAX_N; i++) {
    score[i] = -INF_LL_MAX;
  }

  while(que.size()){
    II p = que.top();
    que.pop();

    int pos = p.second, cost = p.first;
    if(score[pos] > cost){
      continue;
    }

    for (int i = 0; i < Edge[pos].size(); i++) {
      if(score[Edge[pos][i].first] < cost + Edge[pos][i].second){
        score[Edge[pos][i].first] = cost + Edge[pos][i].second;
        que.push(II(score[Edge[pos][i].first], Edge[pos][i].first));
      }
    }

  }

  cout << score[N-1] << endl;
}

signed main()
{
  cin >> N >> M;
  for (int i = 0; i < M; i++) {
    int A, B; LL C;
    cin >> A >> B >> C;
    A--; B--;
    Edge[A].push_back(II(B, C));
    edge e; e.from = A, e.to = B; e.cost = C;
    EdgeVec.push_back(e);
  }

  solve();

  return 0;
}

Submission Info

Submission Time
Task D - Score Attack
User takoshi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1843 Byte
Status WA
Exec Time 7 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 3
AC × 27
WA × 3
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 4 ms 384 KB
subtask_1_13.txt AC 1 ms 256 KB
subtask_1_14.txt AC 4 ms 384 KB
subtask_1_15.txt AC 7 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 3 ms 384 KB
subtask_1_19.txt AC 4 ms 384 KB
subtask_1_2.txt AC 3 ms 384 KB
subtask_1_20.txt AC 1 ms 256 KB
subtask_1_21.txt AC 3 ms 384 KB
subtask_1_22.txt AC 5 ms 384 KB
subtask_1_23.txt WA 1 ms 256 KB
subtask_1_24.txt AC 4 ms 384 KB
subtask_1_25.txt WA 2 ms 384 KB
subtask_1_26.txt AC 3 ms 384 KB
subtask_1_27.txt WA 5 ms 384 KB
subtask_1_3.txt AC 2 ms 384 KB
subtask_1_4.txt AC 3 ms 384 KB
subtask_1_5.txt AC 2 ms 384 KB
subtask_1_6.txt AC 4 ms 384 KB
subtask_1_7.txt AC 3 ms 384 KB
subtask_1_8.txt AC 3 ms 384 KB
subtask_1_9.txt AC 1 ms 256 KB