Problem:

Problem B: How old are you

Problem

胡散臭いマジシャンがマジックを披露するようです。

「さて、1つの好きな整数を思い浮かべてください。」

あなたは、頭の中に自分の数え年を思い浮かべることにしました。

マジシャンはクエリを $N$ 回投げてきました。

各クエリは、以下のうちのどれかです。

「今思い浮かべている数に、 $x$ を掛けてください。」

「今思い浮かべている数に、 $x$ を足してください。」

「今思い浮かべている数から、 $x$ を引いてください。」

各クエリごとに、思い浮かべている数に対してクエリを処理し、結果として出た値を頭の中に思い浮かべます。

「さて、今から最初にあなたの思い浮かべた数を当ててみせましょう。」

そういったマジシャンは、何かを言おうとしています。

しかし、何を言えばいいのか忘れてしまったようです。

胡散臭いマジシャンは汗ダラダラであなたを見つめています。

仕方がないので、何を言えばいいのか教えてあげましょう。

マジシャンは最後に以下のように言うつもりだったようです。

「今あなたが思い浮かべている整数に、 $A$ を足して、 $B$ で割れば、それはあなたが最初に思い浮かべた整数なのです」

制約から、整数の組 $(A,B)$ であって、思い浮かべた整数がいくつであっても上の条件を満たすものが、ただ1つに定まります。

整数の組 $(A,B)$ を求めてください。

ただし、 $B$ は $0$ であってはいけません。

Input

入力は以下の形式で与えられる。

$N$
$q_1$ $x_1$
$\vdots$
$q_n$ $x_n$

$1$ 行目に与えられるクエリの数 $N$ が与えられる。

$2$ 行目から続く $N$ 行にクエリの情報が与えられる。

$q$ はクエリの種類を表し、問題文中のリストの数字に対応する。

Constraints

入力は以下の条件を満たす。

  
$1 \leq N \leq 15 $

  
$1 \leq q \leq 3 $

  
$1 \leq x \leq 10 $

  
入力は全て整数である

Output

$1$ 行に条件を満たす整数 $A,B$ を空白区切りで出力せよ。

Sample Input 1

3
1 2
2 10
3 8

Sample Output 1

-2 2

Sample Input 2

10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10
1 10

Sample Output 2

0 10000000000

32bit整数型に答えが収まるとは限らないことに注意してください。


Sample input:
3
1 2
2 10
3 8


Sample output:
-2 2

Submission status: Accepted

Solution code:
n = int(input())
a, b = 1, 0
for i in range(n) :
    q, x = map(int, input().split())
    if q == 1 :
        a *= x
        b *= x
    elif q == 2 :
        b += x
    elif q == 3 :
        b -= x
print(-b, a)

Submission status: Accepted

Solution code:
#!usr/bin/env python3
from collections import defaultdict,deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS():return [list(x) for x in sys.stdin.readline().split()]
def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res
def IR(n):
    return [I() for i in range(n)]
def LIR(n):
    return [LI() for i in range(n)]
def SR(n):
    return [S() for i in range(n)]
def LSR(n):
    return [LS() for i in range(n)]

sys.setrecursionlimit(1000000)
mod = 1000000007


def solve():
    n = I()
    a,b = 0,1
    for i in range(n):
        q,x = LI()
        if q == 1:
            a *= x
            b *= x
        elif q == 2:
            a += x
            b += x
        else:
            a -= x
            b -= x
    B = b-a
    print(B-b,B)
    return


if __name__ == "__main__":
    solve()

Submission status: Accepted

Solution code:
n = int(input())
queries = [list(map(int, input().split())) for i in range(n)]

s, t = 1, 0
for q in queries:
    if q[0] == 1:
        s *= q[1]
        t *= q[1]
    elif q[0] == 2:
        t += q[1]
    else:
        t -= q[1]
print(-t, s)

Submission status: Accepted

Solution code:
N = int(input())
a, b = 1, 0
for _ in range(N):
    q, x = map(int, input().split())
    if q == 1:
        a *= x;  b *= x
    elif q == 2:
        b += x
    else:
        b -= x
print(-b, a)