結果
| 問題 |
No.1505 Zero-Product Ranges
|
| コンテスト | |
| ユーザー |
kichi2004_
|
| 提出日時 | 2021-04-01 23:17:26 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 169 ms / 2,000 ms |
| コード長 | 1,211 bytes |
| コンパイル時間 | 196 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 16,304 KB |
| 最終ジャッジ日時 | 2024-12-21 07:36:36 |
| 合計ジャッジ時間 | 7,113 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 49 |
ソースコード
from collections import deque
from typing import Iterator, Deque, Callable, Tuple
from sys import stdin
import itertools
class Scanner:
_tokens: Deque[str]
def __init__(self):
self._tokens = deque()
def read(self) -> str:
if len(self._tokens) == 0:
self._tokens.extend(stdin.readline().split())
return self._tokens.popleft()
def read_int(self) -> int:
return int(self.read())
def read_ints(self, n: int) -> Iterator[int]:
return [self.read_int() for _ in range(n)]
@staticmethod
def readline(func: Callable = str):
return map(func, stdin.readline().split())
cin = Scanner()
def main():
n = cin.read_int()
a = [*map(lambda x: bool(x), cin.read_ints(n))]
ans_all = n * (n + 1) // 2
a_start = -1
for i in range(n):
if a[i]:
if a_start == -1:
a_start = i
else:
if a_start != -1:
tmp = i - a_start
ans_all -= tmp * (tmp + 1) // 2
a_start = -1
if a_start != -1:
tmp = n - a_start
ans_all -= tmp * (tmp + 1) // 2
print(ans_all)
if __name__ == '__main__':
main()
kichi2004_