結果
問題 | No.796 well known |
ユーザー |
![]() |
提出日時 | 2022-07-22 16:26:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 96 ms / 2,000 ms |
コード長 | 5,806 bytes |
コンパイル時間 | 351 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 86,496 KB |
最終ジャッジ日時 | 2024-07-04 00:00:23 |
合計ジャッジ時間 | 2,729 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
#Python3/Pypy3テンプレート集#ライブラリ-------------------------------------------------------------------import bisectimport heapqimport collectionsfrom itertools import groupbyimport itertoolsimport mathimport arrayimport stringimport copy#import numpy as np #Python3#from scipy.sparse.csgraph import *#from scipy.sparse import csr_matrix#テンプレート------------------------------------------------------------------INF=10**18MOD=10**9+7mod=998244353def YesNo(b): print("Yes") if b else print("No")def YESNO(b): print("YES") if b else print("NO")#標準入力---------------------------------------------------------------------import syssys.setrecursionlimit(10 ** 5 + 10000)input = sys.stdin.readline ####def int1(x): return int(x) - 1def II(): return int(input())def MI(): return map(int, input().split())def MI1(): return map(int1, input().split())def LI(): return list(map(int, input().split()))def LI1(): return list(map(int1, input().split()))def LIS(): return list(map(int, SI()))def LA(f): return list(map(f, input().split()))def LLI(rows_number): return [LI() for _ in range(rows_number)]def SI(): return input().strip('\n')def MS(): return input().split()def LS(): return list(input().strip('\n'))def LLS(rows_number): return [LS() for _ in range(rows_number)]#関数------------------------------------------------------------------------def CSL(A): #配列Aの累積和return [0] + list(itertools.accumulate(A))def nF(n, m=0):if(n==0):return 0P = 1for i in range(1,n+1):P *= iif(m==0):continueP %= mreturn Pdef nPr(n, r, m=0): #順列nPrif(n-r<0):return 0P = 1for i in range(r,n+1):P *= iif(m==0):continueP %= mreturn Pdef nCr(n, r, m=0): #組み合わせnCrif(n-r<0):return 0N = 1for i in range(r):N *= n-iif(m==0):continueN %= mR = nF(r)return N//Rdef DL(n): #nまでの約数のリストlower_divisors , upper_divisors = [], []i = 1while i*i <= n:if n % i == 0:lower_divisors.append(i)if i != n // i:upper_divisors.append(n//i)i += 1return lower_divisors + upper_divisors[::-1]def PL(n): #nまでの素数のリストprime_list = []num_list=[]for i in range(2, n+1):if i not in num_list:prime_list.append(i)for j in range(i*i, n+1, i):num_list.append(j)return prime_listdef F2L(n): #2以上の整数n => [[素因数, 指数], ...]の2次元リストarr = []temp = nfor i in range(2, int(-(-n**0.5//1))+1):if temp%i==0:cnt=0while temp%i==0:cnt+=1temp //= iarr.append([i, cnt])if temp!=1:arr.append([temp, 1])if arr==[]:arr.append([n, 1])return arrdef DtoN(num_10,n): #10進数からn進数へ変換する(n<=10)str_n = ''while num_10:if num_10%n>=10:return -1str_n += str(num_10%n)num_10 //= nreturn int(str_n[::-1])def StoR(S: str):grouped = groupby(S)res = []for k, v in grouped:res.append((k, int(len(list(v)))))return resdef RtoS(L: "list[tuple]"):res = ""for c, n in L:res += c * int(n)return resdef RtoSc(S: str) :grouped = groupby(S)res = ""for k, v in grouped:res += k + str(len(list(v)))return resdef ED(dx,dy): #ユークリッド距離を求めるreturn abs(dx + dy * 1j)def dsin(d): #度数法でsinを計算するreturn math.sin(math.radians(d))def dcos(d): #度数法でcosを計算するreturn math.cos(math.radians(d))def RM(x,y,d,cx=0,cy=0): #P(x,y)をA(cx,cy)を中心としてに反時計回りにd°回転 => x, ynx = (x-cx)*dcos(d)-(y-cy)*dsin(d)ny = (x-cx)*dsin(d)+(y-cy)*dcos(d)return [int(nx+cx+500),int(ny+cy+500)]def engL(): return list(string.ascii_lowercase)def ENGL(): return list(string.ascii_uppercase)def TS(_str): #変数/リストに格納されている値を確認print('{}: {}'.format(_str, eval(_str)))def BR(): #横線で区切りを入れるprint("---")#クラス----------------------------------------------------------------------#カンニングペーパー-----------------------------------------------------------'''CSL(A) #配列Aの累積和nF(n, m) #nの階乗 | m:mod(デフォなし)nPr(n, r, m) #順列nPr | m:mod(デフォなし)nCr(n, r, m) #組み合わせ,nCr | m:mod(デフォなし)DL(n) #nの約数のリストPL(n) #nまでの素数のリストF2L(n) #2以上の整数n => [[素因数, 指数], ...]の2次元リストED(dx,dy) # #ユークリッド距離を求めるDtoN(num_10,n) #10進数からn進数へ変換する(n<=10)StoR #文字列/リストからラングレス圧縮RtoS #ラングレス圧縮から文字列/文字だけRtoSc #ラングレス圧縮から文字列/文字と個数dsin(d): #度数法でsinを計算するdcos(d): #度数法でcosを計算するRM(x,y,d,cx,cy): #P(x,y)をA(cx,cy)を中心としてに反時計回りにd°回転(デフォ原点) => x, yengL() #英小文字のリストENGL() #英大文字のリストTS(_str) #変数/リストに格納されている値を確認 => 出力:〇〇:××BR() #横線で区切りを入れる'''#----------------------------------------------------------------------------#このテンプレートではAtCoder Easy Test v2でnumpyは動かない。n = II()A = []A.append(3)s = 3*math.ceil((n-1)/3)+1-(n-2)A.append(s)for i in range(n-2):A.append(1)print(*A)