use proconio::input; use std::collections::HashSet; fn main() { input!{ N:usize, T:usize, mut t:[usize;N-1], K:usize, x:[usize;K] } t.insert(0,0); t.insert(1,0); let x:HashSet = HashSet::from_iter(x.iter().cloned()); let mut cnt:isize = T.clone() as isize; let mut useble_clock:usize = 0; let mut ans:isize = 0; for i in 2..=N { // 地点iに行けるか否かの判定 cnt -= t[i] as isize; if cnt <= 0 { if (-cnt)/10 + 1 > (useble_clock as isize) { ans = -1; break; } else { let use_clock:usize = (-cnt as usize)/10 + 1; useble_clock -= use_clock as usize; ans += use_clock as isize; cnt += 10*(use_clock as isize); } } if x.contains(&i) && cnt>0 { useble_clock += 1; } } println!("{}", ans); }