Submission #2337371


Source Code Expand

#include <bits/stdc++.h>
 
using namespace std;
 
const void chmax(double &a, double b)
{
  a = max(a, b);
}
 
 
struct edge
{
  int to, cost, v;
};
 
int main()
{
  int N, M, P;
  vector< edge > g[200];
 
  cin >> N >> M >> P;
  for(int i = 0; i < M; i++) {
    int s, t, d, v;
    cin >> s >> t >> d >> v;
    --s, --t;
    g[s].emplace_back((edge) {t, d, v});
    g[t].emplace_back((edge) {s, d, v});
  }
 
  double dp[1001][200];
  fill_n(*dp, 1001 * 200, -1);
  dp[0][0] = 0;
  for(int i = 0; i < P; i++) {
    for(int j = 0; j < N; j++) {
      if(dp[i][j] < 0) continue;
      for(auto &e : g[j]) {
        chmax(dp[i + 1][j], dp[i][j] + (double) e.v / e.cost);
        if(i + e.cost <= P)
          chmax(dp[i + e.cost][e.to], dp[i][j] + e.v);
      }
    }
  }
 
  cout << fixed << setprecision(10) << dp[P][0] << endl;
}

Submission Info

Submission Time
Task F - Marching Course
User ei13333
Language C++14 (GCC 5.4.1)
Score 100
Code Size 874 Byte
Status AC
Exec Time 204 ms
Memory 2432 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 52
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 10_complete_00, 10_complete_01, 10_complete_02, 10_complete_03, 10_complete_04, 11_complete_max_00, 11_complete_max_01, 11_complete_max_02, 11_complete_max_03, 11_complete_max_04, 20_rnd_00, 20_rnd_01, 20_rnd_02, 20_rnd_03, 20_rnd_04, 21_rnd_max_00, 21_rnd_max_01, 21_rnd_max_02, 21_rnd_max_03, 21_rnd_max_04, 30_sparse_00, 30_sparse_01, 40_star_00, 40_star_01, 50_uniform_00, 50_uniform_01, 51_almost_uniform_00, 51_almost_uniform_01, 60_hard_far_00, 60_hard_far_01, 60_hard_far_02, 60_hard_far_03, 60_hard_far_04, 61_hard_layer_00, 61_hard_layer_01, 61_hard_layer_02, 61_hard_layer_03, 61_hard_layer_04, 62_hard_chain_00, 62_hard_chain_01, 62_hard_chain_02, 62_hard_chain_03, 62_hard_chain_04, 99_handmade_00, 99_handmade_01, 99_handmade_02, 99_handmade_03, 99_handmade_04
Case Name Status Exec Time Memory
00_sample_00 AC 2 ms 1792 KB
00_sample_01 AC 2 ms 1792 KB
00_sample_02 AC 2 ms 1792 KB
00_sample_03 AC 2 ms 1792 KB
10_complete_00 AC 11 ms 1920 KB
10_complete_01 AC 126 ms 2432 KB
10_complete_02 AC 34 ms 2048 KB
10_complete_03 AC 121 ms 2432 KB
10_complete_04 AC 20 ms 1920 KB
11_complete_max_00 AC 154 ms 2432 KB
11_complete_max_01 AC 72 ms 2432 KB
11_complete_max_02 AC 204 ms 2432 KB
11_complete_max_03 AC 66 ms 2432 KB
11_complete_max_04 AC 62 ms 2432 KB
20_rnd_00 AC 3 ms 1792 KB
20_rnd_01 AC 32 ms 2048 KB
20_rnd_02 AC 7 ms 1920 KB
20_rnd_03 AC 39 ms 2048 KB
20_rnd_04 AC 2 ms 1792 KB
21_rnd_max_00 AC 88 ms 2176 KB
21_rnd_max_01 AC 60 ms 2176 KB
21_rnd_max_02 AC 66 ms 2176 KB
21_rnd_max_03 AC 99 ms 2176 KB
21_rnd_max_04 AC 99 ms 2176 KB
30_sparse_00 AC 2 ms 1792 KB
30_sparse_01 AC 3 ms 1792 KB
40_star_00 AC 3 ms 1792 KB
40_star_01 AC 3 ms 1792 KB
50_uniform_00 AC 20 ms 2432 KB
50_uniform_01 AC 19 ms 2432 KB
51_almost_uniform_00 AC 8 ms 1792 KB
51_almost_uniform_01 AC 68 ms 2304 KB
60_hard_far_00 AC 3 ms 1792 KB
60_hard_far_01 AC 10 ms 1920 KB
60_hard_far_02 AC 8 ms 1920 KB
60_hard_far_03 AC 4 ms 1792 KB
60_hard_far_04 AC 4 ms 1792 KB
61_hard_layer_00 AC 22 ms 1920 KB
61_hard_layer_01 AC 21 ms 1920 KB
61_hard_layer_02 AC 21 ms 1920 KB
61_hard_layer_03 AC 20 ms 1920 KB
61_hard_layer_04 AC 16 ms 1920 KB
62_hard_chain_00 AC 9 ms 1920 KB
62_hard_chain_01 AC 7 ms 1920 KB
62_hard_chain_02 AC 11 ms 1920 KB
62_hard_chain_03 AC 7 ms 1920 KB
62_hard_chain_04 AC 5 ms 1920 KB
99_handmade_00 AC 2 ms 1792 KB
99_handmade_01 AC 2 ms 1792 KB
99_handmade_02 AC 2 ms 1792 KB
99_handmade_03 AC 2 ms 1792 KB
99_handmade_04 AC 2 ms 1792 KB