Problem:


  MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], skipTags: ["script","noscript","style","textarea","code"], processEscapes: true }});

問題文

有理数列 $X_0, X_1, X_2, ..., X_N$ がある。各項は以下のように定義される。

$X_0 = 0$

$X_i = X_{i-1}$ $op_i$ $Y_i$ ($1 \leq i \leq N$). ただし $op_i$ は $＋$、$−$、$×$、$÷$のいずれかである。

$X_N$ を求めよ。

入力

入力は以下の形式に従う。与えられる数は全て整数である。

$N$
$o_1$ $Y_1$
$o_2$ $Y_2$
$...$
$o_N$ $Y_N$

$o_i = 1$ のとき $op_i$ は＋、$o_i = 2$ のとき $op_i$ は−、$o_i = 3$ のとき $op_i$ は×、$o_i = 4$ のとき $op_i$ は÷である。

制約

$1 \leq N \leq 10^5$

$1 \leq o_i \leq 4$

$-10^6 \leq Y_i \leq 10^6$

$o_i=4$ ならば $Y_i \neq 0$

$X_N$ は $-2^{31}$ 以上 $2^{31}$ 未満の整数となる。

出力

$X_N$ の値を1行に出力せよ。

Sample Input 1

4
1 1
4 2
2 4
3 4

Output for the Sample Input 1

-14

$X_0 = 0$

$X_1 = X_0 ＋ 1 = 1$

$X_2 = X_1 ÷ 2 = 1/2$

$X_3 = X_2 − 4 = -7/2$

$X_4 = X_3 × 4 = -14$



Sample input:
4
1 1
4 2
2 4
3 4


Sample output:
-14

Submission status: Wrong Answer

Solution code:
n = input()
x = 0.0
for i in range(0,n):
  line = raw_input().split()  
  if line[0] == "1":
    x += int(line[1])
  elif line[0] == "2":
    x -= int(line[1])
  elif line[0] == "3":
    x *= float(line[1])
  elif line[0] == "4":
    x /= float(line[1])
print x

Submission status: Accepted

Solution code:
M=4294967311

def pmod(v):
	return (v%M+M)%M

def mpow(x,N):
	res=1
	while (N>0):
		if(N%2):
			res=pmod(res*x)
		x=pmod(x*x)
		N/=2
	return res

def minv(a):
	return mpow(a,M-2)

N=input()
v=0
for i in range(N):
	c,y=map(int,raw_input().split())
	if (c==1):
		v=pmod(v+y)
	if (c==2):
		v=pmod(v-y)
	if (c==3):
		v=pmod(v*y)
	if (c==4):
		v=pmod(v*minv(y))

if (v<(1<<31)):
	v=v
else:
	v=v-M;

print "%d" % v

Submission status: Accepted

Solution code:
m=10000000019
x=0
def mod(x):return (x%m+m)%m
def pow(x,a):
    ret=1
    while a:
        if(a&1):ret=mod(x*ret)
        x=mod(x*x)
        a>>=1
    return ret

for _ in range(int(input())):
    o,y=map(int,input().split())
    if o==1:x=(x+y)%m
    elif o==2:x=(x-y)%m
    elif o==3:x=mod(x*y)
    else:x=mod(x*pow(y,m-2))
print(x if x<(1<<31)else x-m)

Submission status: Runtime Error

Solution code:
import operator
n = int(input())
ops = {1:operator.add,
       2:operator.sub,
       3:operator.mul,
       4:operator.truediv}

ans = 0
for _ in range(n):
  o, y = map(int, input().split())
  ans = ops[o](ans, y)
print(int(ans))

Submission status: Runtime Error

Solution code:
x=0
for _ in range(int(input())):
    o,y=map(int,input().split())
    if o==1:x+=y
    elif o==2:x-=y
    elif o==3:x*=y
    else:x/=y
print(int(x))

Submission status: Runtime Error

Solution code:
n = input()
x = 0.0
for i in range(0,n):
  line = raw_input().split()  
  if line[0] == "1":
    x += int(line[1])
  elif line[0] == "2":
    x -= int(line[1])
  elif line[0] == "3":
    x *= float(line[1])
  elif line[0] == "4":
    x /= float(line[1])
print int(x)

Submission status: Runtime Error

Solution code:
n = input()
x = 0.0
for i in range(0,n):
  line = raw_input().split()  
  if line[0] == "1":
    x += int(line[1])
  elif line[0] == "2":
    x -= int(line[1])
  elif line[0] == "3":
    x *= float(line[1])
  elif line[0] == "4":
    x /= float(line[1])
print long(x)