結果
| 問題 |
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 |
ソースコード
# 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)
slyly1373