Submission #27665738
Source Code Expand
from collections import defaultdict N=int(input()) A=[0]+list(map(int,input().split())) f=[0]*(N+1) # fの前計算 # f(i) が存在しない時、f(i)=0としてしまって良い(DP[0]=0なので) s=0 d=defaultdict(int) for i in range(N+1): s+=A[i] f[i]=d[s] d[s]=i DP=[0]*(N+1) DP[1]=1 # 配るDP for i in range(1,N): DP[i+1]=(DP[i]*2-DP[f[i]])%998244353 print(DP[N])
Submission Info
| Submission Time | |
|---|---|
| Task | F - Predilection |
| User | kyopro_friends |
| Language | Python (3.8.2) |
| Score | 500 |
| Code Size | 405 Byte |
| Status | AC |
| Exec Time | 254 ms |
| Memory | 53744 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00, sample01 |
| All | case02, case03, case04, case05, case06, case07, case08, case09, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, sample00, sample01 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| case02 | AC | 29 ms | 9280 KiB |
| case03 | AC | 24 ms | 9460 KiB |
| case04 | AC | 29 ms | 9324 KiB |
| case05 | AC | 119 ms | 21244 KiB |
| case06 | AC | 130 ms | 24012 KiB |
| case07 | AC | 160 ms | 29144 KiB |
| case08 | AC | 125 ms | 23112 KiB |
| case09 | AC | 119 ms | 21880 KiB |
| case10 | AC | 116 ms | 21764 KiB |
| case11 | AC | 147 ms | 25496 KiB |
| case12 | AC | 192 ms | 30392 KiB |
| case13 | AC | 253 ms | 41564 KiB |
| case14 | AC | 199 ms | 36984 KiB |
| case15 | AC | 164 ms | 26616 KiB |
| case16 | AC | 254 ms | 53448 KiB |
| case17 | AC | 248 ms | 53744 KiB |
| case18 | AC | 199 ms | 40696 KiB |
| case19 | AC | 58 ms | 16032 KiB |
| sample00 | AC | 20 ms | 9460 KiB |
| sample01 | AC | 31 ms | 9168 KiB |