結果

問題 No.147 試験監督(2)
コンテスト
ユーザー cologne
提出日時 2026-01-22 17:20:25
言語 PyPy3
(7.3.17)
結果
TLE  
実行時間 -
コード長 1,149 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 458 ms
コンパイル使用メモリ 82,204 KB
実行使用メモリ 84,608 KB
最終ジャッジ日時 2026-01-22 17:20:44
合計ジャッジ時間 10,156 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1 TLE * 3
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
from typing import List, Tuple


def int1(x: str, /): return int(x) - 1


def input(): return sys.stdin.readline().rstrip('\n')


def dbg(*args, **kwargs):
    print(*(repr(arg) for arg in args), *(f'{k}: {repr(v)}' for k, v in kwargs.items()), sep='; ', file=sys.stderr)


def mm(a, b):
    m = 10 ** 9 + 7
    a00, a01, a10, a11 = a
    b00, b01, b10, b11 = b
    return ((a00 * b00 + a01 * b10) % m, (a00 * b01 + a01 * b11) % m,
            (a10 * b00 + a11 * b10) % m, (a10 * b01 + a11 * b11) % m)


def pp(a, b):
    if b == 0: return 1, 0, 0, 1
    if b % 2 == 1:
        return mm(pp(a, b - 1), a)
    c = pp(a, b // 2)
    return mm(c, c)


def solve(c, d):
    m = 10 ** 9 + 7
    return pow(pp((1, 1, 1, 0), 2 + c)[1], d, m)


def main():
    m = 10 ** 9 + 7
    n = int(input())
    ans = 1
    for _ in range(n):
        c, d = map(int, input().split())
        ans = ans * solve(c, d) % m
    return ans


def _start():
    ret = main()

    if ret is not None:
        if isinstance(ret, List) or isinstance(ret, Tuple):
            print(*ret)
        else:
            print(ret)


if __name__ == '__main__':
    _start()
0