結果
問題 | No.1618 Convolution? |
ユーザー |
|
提出日時 | 2021-07-22 21:33:30 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 255 ms / 2,000 ms |
コード長 | 3,246 bytes |
コンパイル時間 | 255 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 174,628 KB |
最終ジャッジ日時 | 2024-07-17 16:41:33 |
合計ジャッジ時間 | 7,253 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
from sys import exit, stdin, setrecursionlimitfrom collections import deque, defaultdict, Counterfrom copy import deepcopyfrom bisect import bisect_left, bisect_right, insort_left, insort_rightfrom heapq import heapify, heappop, heappushfrom itertools import product, permutations, combinations, combinations_with_replacementfrom functools import reducefrom math import gcd, sin, cos, tan, asin, acos, atan, atan2, degrees, radians, ceil, floor, sqrt, factorialfrom math import pi as PIfrom random import randint# from decimal import Decimalsetrecursionlimit(500000)INF = (1<<61)-1EPS = 1e-10MOD = 10**9+7# MOD = 998244353def input():return stdin.readline().strip('\n')def intput():return int(input())def minput():return input().split()def linput():return input().split()def mint():return map(int,input().split())def lint():return list(map(int,input().split()))def ilint():return intput(),lint()def lcm(x,y):return x*y//gcd(x,y)def lgcd(l):return reduce(gcd,l)def llcm(l):return reduce(lcm,l)def powmod(n,i,mod=MOD):return pow(n,mod-1+i,mod) if i<0 else pow(n,i,mod)def div2(x):return x.bit_length()def div10(x):return len(str(x))-(x==0)def popcount(x):return bin(x).count('1')def digit(x,i,max_len=None):s = str(x)if max_len:i -= max_len-len(s)return int(s[i-1]) if i>0 else 0def digitsum(x):ans = 0for i in range(div10(x)):ans += digit(x,i+1)return ansdef pf(x,mode='counter'):C = Counter()p = 2while x>1:k = 0while x%p==0:x //= pk += 1if k>0:C[p] += kp = p+2-(p==2) if p*p<x else xif mode=='counter':return CS = set([1])for k in C:T = set()for x in S:for i in range(C[k]+1):T.add(x*(k**i))S = Tif mode=='set':return Sif mode=='list':return sorted(S)def isprime(x):if x<2:return Falsereturn len(pf(x,'set'))==2def matmul(A, B):# import numpyA1, A2 = A >> 15, A & (1 << 15) - 1B1, B2 = B >> 15, B & (1 << 15) - 1X = np.dot(A1, B1) % MODY = np.dot(A2, B2)Z = np.dot(A1 + A2, B1 + B2) - X - Yreturn ((X << 30) + (Z << 15) + Y) % MODdef matpow(A, N):P = np.eye(A.shape[0], dtype=np.int64)while N:if N & 1:P = matmul(P, A)A = matmul(A, A)N >>= 1return Pdef zash(S):lis = sorted(S)dic = {}for i,x in enumerate(lis):dic[x] = ireturn lis, dicdef pr(*x):print(*x, sep='', end='') if len(x) else print()def lprint(l):for x in l: print(x)def ston(c, c0='a'):return ord(c)-ord(c0)def ntos(x, c0='a'):return chr(x+ord(c0))def judge(x, l=['Yes', 'No']):print(l[0] if x else l[1])def debug(*x, flag=1):if flag: print(*x)######################################################N,A=ilint()B=lint()suA=0suB=0aa=0bb=0C=[0]for a,b in zip(A,B):suA+=asuB+=baa+=suAbb+=suBC.append(aa+bb)for a,b in zip(A[:-1],B[:-1]):suA-=asuB-=baa+=-N*a+suAbb+=-N*b+suBC.append(aa+bb)print(*C)