提出 #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
結果
AC × 52
セット名 テストケース
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