結果
問題 | No.771 しおり |
ユーザー |
|
提出日時 | 2018-12-18 23:55:40 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 146 ms / 2,000 ms |
コード長 | 771 bytes |
コンパイル時間 | 2,413 ms |
コンパイル使用メモリ | 176,100 KB |
実行使用メモリ | 23,680 KB |
最終ジャッジ日時 | 2024-07-22 07:05:11 |
合計ジャッジ時間 | 5,318 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
int N; int A[1000][2]; int dp[1<<18][18]; inline int dist(int i, int j) { return A[i][1] - A[i][0] + A[j][0]; } { rd(N); REP(i, N) { int a, b; rd(a, b); A[i][0] = a; A[i][1] = b; } fill(dp[1], dp[1<<N], int(1e9)); REP(i, N) { dp[0][i] = 0; dp[1<<i][i] = 0; } REP(b, 1, 1 << N) { REP(i, N) { if (~b & (1 << i)) continue; REP(j, N) { if (b & (1 << j)) continue; dp[b | (1 << j)][j] = min(dp[b | (1 << j)][j], max(dp[b][i], dist(i, j)) ); } } } int best = 1e9; REP(i, N){ best = min(best, dp[(1<<N)-1][i]); } wt(best); }