#include #include #include using namespace std; int main() { int N, T; cin >> N >> T; vector t(N-1); for (int i = 0; i < N-1; i++) { cin >> t[i]; } int K; cin >> K; assert(1 <= K); vector cl(N); vector x(K); for (int i = 0; i < K; i++) { cin >> x[i]; x[i]--; cl[x[i]] = true; } int l = -1, r = K+1; while (abs(l - r) > 1) { int c = (l + r) / 2; int cnt = 0; int time = T; bool ok = true; for (int i = 0; i < N-1; i++) { time -= t[i]; if (time <= 0) { ok = false; break; } if (cl[i+1] && cnt < c) { time += 10; cnt += 1; } } if (ok) { r = c; } else { l = c; } } if (r == K+1) { cout << -1 << '\n'; } else { cout << r << '\n'; } return 0; } /* File : ~/yukicoder/530/D.cpp Date : 2025/03/21 Time : 21:33:10 */