結果

問題 No.258 回転寿司(2)
ユーザー takeya_okino
提出日時 2017-08-11 18:55:40
言語 PHP
(843.2)
結果
WA  
実行時間 -
コード長 961 bytes
コンパイル時間 1,128 ms
コンパイル使用メモリ 30,732 KB
実行使用メモリ 31,780 KB
最終ジャッジ日時 2024-10-12 20:43:29
合計ジャッジ時間 6,427 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 3
other WA * 67
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
$N = trim(fgets(STDIN));
$V = explode(" ", trim(fgets(STDIN)));
$dp = array();
$dp[0] = $V[0];
if($V[0] >= $V[1]) {
  $dp[1] = $V[0];
} else {
  $dp[1] = $V[1];
}

for($i = 2; $i < $N; $i++) {
  if($dp[$i - 2] + $V[$i] >= $dp[$i - 1]) {
    $dp[$i] = $dp[$i - 2] + $V[$i];
  } else {
    $dp[$i] = $dp[$i - 1];
  }
}

$list = array();

for($i = $N - 1; $i >= 0; $i--) {
  if($dp[$i - 1] < $dp[$i]) {
    $list[] = $i + 1;
    $i--;
    if($i == 1) $list[] = $i; 
  } else {
    if(($i >= 2) && ($dp[$i - 2] < $dp[$i])) {
      $list[] = $i + 1;
      $i--;
      if($i == 1) $list[] = $i;
    } else if($i == 2) {
      if($V[$i - 1] >= $V[$i - 2]) {
        $list[] = $i;
        $i--;
      } else {
        $list[] = $i - 1;
        $i -= 2;
      }
    }
  }
}

sort($list);

print($dp[$N - 1]);
print("\n");

for($i = 0; $i < count($list); $i++) {
  print($list[$i]);
  if($i < count($list) - 1) {
    print(" ");
  } else {
    print("\n");
  }
}
?>
0