提出 #494554
ソースコード 拡げる
#include<iostream>
#include<vector>
#include<algorithm>
#include<sstream>
#include<set>
#include<map>
#include<string>
#include<cmath>
#include<stack>
#include<complex>
#include<queue>
#include<cassert>
using namespace std;
#define rep(i, n) for(int i=0;i<(int)n;i++)
#define irep(i, n) for(int i=n-1;i>=0;i--)
#define reep(i, s, n) for(int i=s;i<(int)n;i++)
#define ireep(i, n, s) for(int i=n-1;i>=s;i--)
#define REP(i, n) for(int i=0;i<(int)n;i++)
#define RREP(i, n) for(int i=n-1;i>=0;i--)
#define REPS(i, n) for(int i=1;i<=(int)n;i++)
#define RREPS(i, n) for(int i=n;i>0;i--)
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define all(v) v.begin(), v.end()
#define ALL(v) v.begin(), v.end()
#define RALL(v) v.rbegin(), v.rend()
#define fc first
#define sc second
#define vc vector;
typedef long long ll;
typedef complex<double> Point;
typedef vector<int> vi;
typedef pair<int, int> pii;
const int IINF = 1 << 28;
const double INF = 1e20;
const double EPS = 1e-10;
const double PI = acos(-1.0);
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, -1, 0, 1};
int n, m, p;
signed main(){
cin >> n >> m >> p;
vector<vector<tuple<int, int, int>>> g(n);
REP(i, m){
int u, v, d, w;
cin >> u >> v >> d >> w; u--; v--;
g[u].eb(v, d, w);
g[v].eb(u, d, w);
}
vector<vector<int>> dp(p/2 + 1, vector<int>(n, -IINF));
dp[0][0] = 0;
double ans = 0;
REP(i, p/2 + 1)REP(u, n)if(dp[i][u] > -1){
for(auto &e : g[u]){
int v, d, w;
tie(v, d, w) = e;
ans = max(ans, dp[i][u] * 2 + (double)(p - i*2) * w / d);
if(i+d <= p/2) dp[i+d][v] = max(dp[i+d][v], dp[i][u] + w);
}
}
printf("%.20f\n", ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Marching Course |
| ユーザ | zerokugimachine |
| 言語 | C++11 (GCC 4.8.1) |
| 得点 | 100 |
| コード長 | 1726 Byte |
| 結果 | AC |
| 実行時間 | 354 ms |
| メモリ | 1824 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00 | AC | 27 ms | 924 KiB |
| 00_sample_01 | AC | 26 ms | 924 KiB |
| 00_sample_02 | AC | 23 ms | 796 KiB |
| 00_sample_03 | AC | 25 ms | 928 KiB |
| 10_complete_00 | AC | 38 ms | 804 KiB |
| 10_complete_01 | AC | 233 ms | 1568 KiB |
| 10_complete_02 | AC | 76 ms | 1052 KiB |
| 10_complete_03 | AC | 226 ms | 1568 KiB |
| 10_complete_04 | AC | 54 ms | 976 KiB |
| 11_complete_max_00 | AC | 280 ms | 1708 KiB |
| 11_complete_max_01 | AC | 143 ms | 1436 KiB |
| 11_complete_max_02 | AC | 354 ms | 1824 KiB |
| 11_complete_max_03 | AC | 135 ms | 1444 KiB |
| 11_complete_max_04 | AC | 127 ms | 1444 KiB |
| 20_rnd_00 | AC | 26 ms | 812 KiB |
| 20_rnd_01 | AC | 73 ms | 1180 KiB |
| 20_rnd_02 | AC | 31 ms | 920 KiB |
| 20_rnd_03 | AC | 80 ms | 1188 KiB |
| 20_rnd_04 | AC | 27 ms | 804 KiB |
| 21_rnd_max_00 | AC | 165 ms | 1444 KiB |
| 21_rnd_max_01 | AC | 120 ms | 1240 KiB |
| 21_rnd_max_02 | AC | 130 ms | 1316 KiB |
| 21_rnd_max_03 | AC | 181 ms | 1440 KiB |
| 21_rnd_max_04 | AC | 181 ms | 1444 KiB |
| 30_sparse_00 | AC | 26 ms | 804 KiB |
| 30_sparse_01 | AC | 27 ms | 1060 KiB |
| 40_star_00 | AC | 27 ms | 924 KiB |
| 40_star_01 | AC | 26 ms | 936 KiB |
| 50_uniform_00 | AC | 56 ms | 1448 KiB |
| 50_uniform_01 | AC | 57 ms | 1368 KiB |
| 51_almost_uniform_00 | AC | 37 ms | 924 KiB |
| 51_almost_uniform_01 | AC | 116 ms | 1444 KiB |
| 60_hard_far_00 | AC | 27 ms | 796 KiB |
| 60_hard_far_01 | AC | 39 ms | 1180 KiB |
| 60_hard_far_02 | AC | 35 ms | 1056 KiB |
| 60_hard_far_03 | AC | 29 ms | 924 KiB |
| 60_hard_far_04 | AC | 29 ms | 1048 KiB |
| 61_hard_layer_00 | AC | 62 ms | 1180 KiB |
| 61_hard_layer_01 | AC | 63 ms | 1192 KiB |
| 61_hard_layer_02 | AC | 62 ms | 1180 KiB |
| 61_hard_layer_03 | AC | 61 ms | 1180 KiB |
| 61_hard_layer_04 | AC | 51 ms | 1056 KiB |
| 62_hard_chain_00 | AC | 39 ms | 1064 KiB |
| 62_hard_chain_01 | AC | 33 ms | 1048 KiB |
| 62_hard_chain_02 | AC | 42 ms | 1180 KiB |
| 62_hard_chain_03 | AC | 34 ms | 928 KiB |
| 62_hard_chain_04 | AC | 30 ms | 1052 KiB |
| 99_handmade_00 | AC | 25 ms | 928 KiB |
| 99_handmade_01 | AC | 25 ms | 812 KiB |
| 99_handmade_02 | AC | 25 ms | 924 KiB |
| 99_handmade_03 | AC | 25 ms | 924 KiB |
| 99_handmade_04 | AC | 23 ms | 800 KiB |