結果

問題 No.1535 五七五
コンテスト
ユーザー obakyan
提出日時 2021-06-19 19:25:15
言語 Lua
(LuaJit 2.1.1774638290)
コンパイル:
luajit -b _filename_ a.out
実行:
luajit _filename_
結果
AC  
実行時間 209 ms / 2,000 ms
+ 658µs
コード長 737 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 42 ms
コンパイル使用メモリ 5,888 KB
実行使用メモリ 32,788 KB
最終ジャッジ日時 2026-07-27 10:20:40
合計ジャッジ時間 3,717 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

local n = io.read("*n")
local a, b, c = io.read("*n", "*n", "*n", "*l")
local s = io.read()
local t = {}
for w in s:gmatch("%w+") do
  table.insert(t, #w)
end
for i = 2, n do
  t[i] = t[i - 1] + t[i]
end
local ret = 0
local offset = 0
local ap, bp, cp = 1, 1, 1
for i = 1, n do
  while ap <= n and t[ap] < offset + a do
    ap = ap + 1
  end
  if n < ap then
    bp = ap
  else
    while bp <= n and t[bp] < t[ap] + b do
      bp = bp + 1
    end
  end
  if n < bp then
    cp = bp
  else
    while cp <= n and t[cp] < t[bp] + c do
      cp = cp + 1
    end
  end
  if ap <= n and bp <= n and cp <= n
  and t[cp] - t[bp] == c
  and t[bp] - t[ap] == b
  and t[ap] - offset == a then
    ret = ret + 1
  end
  offset = t[i]
end
print(ret)
0