#include #include #include #include #include using namespace atcoder; using namespace boost::multiprecision; using namespace std; #define rep(i, a, n) for(ll i = a; i < n; i++) #define rrep(i, a, n) for(ll i = a; i >= n; i--) #define ll long long #define pii pair #define pll pair #define all(x) (x).begin(), (x).end() //constexpr ll MOD = 1000000007; constexpr ll MOD = 998244353; constexpr int IINF = 1001001001; constexpr ll INF = 1LL<<60; template void chmax(t&a,u b){if(a void chmin(t&a,u b){if(b> n >> t; vector tvec(n); rep(i,0,n-1) cin >> tvec[i]; ll k; cin >> k; vector plus(n); rep(i,0,k){ ll x; cin >> x; x--; plus[x] = 1; } ll time = t, p = 0, ans = 0; rep(i,0,n-1){ if(time > tvec[i]); else if(time+10 > tvec[i]){ if(p >= 1)p--, ans++, time+= 10; else{ cout << -1 << endl; return 0; } }else if(time+20 > tvec[i]){ if(p >= 2)p-=2, ans+=2,time+= 20; else{ cout << -1 << endl; return 0; } }else{ cout << -1 << endl; return 0; } time -= tvec[i]; p += plus[i+1]; } cout << ans << endl; return 0; }