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 |
|
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 |