結果

問題 No.1299 Random Array Score
ユーザー slyly1373slyly1373
提出日時 2020-11-27 22:36:20
言語 PyPy3
(7.3.13)
結果
AC  
実行時間 128 ms / 2,000 ms
コード長 2,383 bytes
コンパイル時間 532 ms
コンパイル使用メモリ 86,880 KB
実行使用メモリ 103,596 KB
最終ジャッジ日時 2023-10-09 20:38:41
合計ジャッジ時間 6,007 ms
ジャッジサーバーID
(参考情報)
judge14 / judge15
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 74 ms
71,648 KB
testcase_01 AC 75 ms
71,516 KB
testcase_02 AC 75 ms
71,256 KB
testcase_03 AC 128 ms
99,620 KB
testcase_04 AC 126 ms
99,112 KB
testcase_05 AC 109 ms
99,424 KB
testcase_06 AC 105 ms
96,672 KB
testcase_07 AC 106 ms
96,728 KB
testcase_08 AC 126 ms
99,224 KB
testcase_09 AC 79 ms
75,944 KB
testcase_10 AC 93 ms
86,380 KB
testcase_11 AC 81 ms
76,520 KB
testcase_12 AC 104 ms
94,508 KB
testcase_13 AC 127 ms
99,024 KB
testcase_14 AC 105 ms
94,348 KB
testcase_15 AC 106 ms
96,384 KB
testcase_16 AC 105 ms
96,568 KB
testcase_17 AC 83 ms
77,864 KB
testcase_18 AC 93 ms
87,920 KB
testcase_19 AC 97 ms
89,896 KB
testcase_20 AC 88 ms
82,276 KB
testcase_21 AC 78 ms
75,952 KB
testcase_22 AC 82 ms
78,692 KB
testcase_23 AC 104 ms
96,488 KB
testcase_24 AC 109 ms
99,464 KB
testcase_25 AC 102 ms
94,216 KB
testcase_26 AC 77 ms
76,040 KB
testcase_27 AC 81 ms
78,992 KB
testcase_28 AC 80 ms
77,576 KB
testcase_29 AC 84 ms
80,616 KB
testcase_30 AC 102 ms
94,284 KB
testcase_31 AC 87 ms
80,436 KB
testcase_32 AC 125 ms
98,980 KB
testcase_33 AC 126 ms
102,288 KB
testcase_34 AC 109 ms
103,596 KB
testcase_35 AC 127 ms
102,316 KB
testcase_36 AC 108 ms
103,484 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# coding: UTF-8

# <<<基本的なimport系>>>
import sys
from sys import stdin
input = stdin.readline
import math
import bisect

# <<<定数系>>>
# ここは問題によって法を変える
# MOD = 10**9+7
MOD = 998244353
nil = None
INF = 10**18

# <<<配列系>>>
# 番号a~b配列のスライスは、l[a:b+1]
# 1次元配列作成、値xをn個
def NewArray1(n,x):
    return [x]*n
# 2次元配列作成、値xをh行w列
def NewArray2(h,w,x):
    return [[x]*w for i in range(h)]
# 2次元配列aryのk番目で昇順ソート
def sort2up(ary,k):
    return sorted(ary, key=lambda x: x[k])
# 2次元配列aryのk番目で降順ソート
def sort2down(ary,k):
    return sorted(ary, reverse=True, key=lambda x: x[k])

# <<<二分探索系(必ずソートしてから使え!!!)>>>
# 配列aryにおけるx<aとなる要素xの個数:パターン1
def bsearch1(ary,a):
    return bisect.bisect_left(ary,a)
# 配列aryにおけるx<=aとなる要素xの個数:パターン2
def bsearch2(ary,a):
    return bisect.bisect_right(ary,a)
# 配列aryにおけるx>aとなる要素xの個数:パターン3
def bsearch3(ary,a):
    return len(ary)-bisect.bisect_right(ary,a)
# 配列aryにおけるx>=aとなる要素xの個数:パターン4
def bsearch4(ary,a):
    return len(ary)-bisect.bisect_left(ary,a)

# <<<数学系>>>
# 繰り返し二乗法
# ---> pow(底,累乗,MOD)の組み込み関数を使え!
# 組み合わせ(nCr)(MODをとっている)
def nCr(n,r):
    num = 1
    fact = 1
    for i in range(r):
        num = num * (n-i) % MOD
        fact = fact * (i+1) % MOD
    return num * pow(fact, MOD-2, MOD) % MOD
# 重複組み合わせ(nHr)(MODをとっている)
def nHr(n,r): # n個の異なるものからr個とってくる場合の数
    return nCr(n+r-1,r)

# <<<累積和>>>
'''
# 配列aの累積和がs
s = NewArray1(len(a)+1,nil)
s[0] = 0
for i in range(len(a)):
    s[i+1] = s[i] + a[i]
# AからBまでの和は s[B+1]-s[A]
'''

# <<<入出力系>>>
# 1行1数字
# int(input())
# 1行n数字(区切りあり)
# map(int, input().split())
# 1行n数字(リストに格納)
# list(map(int, input().split()))
# n行1数字(リストに格納)
# [int(input()) for _ in range(n)]
def p(x):
    print(x)


###
n, k = map(int, input().split())
a = list(map(int, input().split()))

sum = sum(a)
v = (sum*pow(2,k,MOD))%MOD
p(v)
0