結果

問題 No.1299 Random Array Score
ユーザー slyly1373
提出日時 2020-11-27 22:36:20
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 91 ms / 2,000 ms
コード長 2,383 bytes
コンパイル時間 270 ms
コンパイル使用メモリ 82,364 KB
実行使用メモリ 100,056 KB
最終ジャッジ日時 2024-07-26 18:55:15
合計ジャッジ時間 3,823 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

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