結果
| 問題 | No.1765 While Shining | 
| コンテスト | |
| ユーザー | 👑 | 
| 提出日時 | 2022-01-02 20:50:56 | 
| 言語 | Lua (LuaJit 2.1.1734355927) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 51 ms / 2,000 ms | 
| コード長 | 604 bytes | 
| コンパイル時間 | 113 ms | 
| コンパイル使用メモリ | 6,944 KB | 
| 実行使用メモリ | 6,912 KB | 
| 最終ジャッジ日時 | 2024-10-12 00:46:49 | 
| 合計ジャッジ時間 | 2,243 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 22 | 
ソースコード
local n = io.read("*n")
local a = {}
for i = 1, n do
  a[i] = io.read("*n")
  if i % 2 == 0 then a[i] = 1 - a[i] end
end
local right = {}
for i = 1, n do right[i] = n end
for i = n - 1, 1, -1 do
  if a[i] ~= a[i + 1] then
    right[i] = i
  else
    right[i] = right[i + 1]
  end
end
local ret = 0
for i = 1, n do
  if i % 2 == 1 then
    if a[i] == 1 then
      ret = ret + right[i] - i + 1
      if right[i] == n then ret = ret - 1 end
    end
  else
    if a[i] == 0 then
      ret = ret + right[i] - i + 1
      if right[i] == n then ret = ret - 1 end
    end
  end
  -- print(i, ret)
end
print(ret)
            
            
            
        