#include #include #include using namespace std; using ll = long long; int main() { int N, M; cin >> N >> M; vector A(N); vector B(M); vector C(N); for (int i = 0; i < N; i++) { cin >> A[i]; } for (int i = 0; i < M; i++) { cin >> B[i]; } for (int i = 0; i < N; i++) { cin >> C[i]; } vector sum(N); sum[0] = 0; for (int i = 0; i < N - 1; i++) { sum[i + 1] = sum[i] + B[i % M]; } ll cost_all = 0; for (int i = 0; i < N; i++) { cost_all += C[i]; } map mp; for (int i = 0; i < N; i++) { mp[A[i] - sum[i]] += C[i]; } ll ans = cost_all; for (auto itr = mp.begin(); itr != mp.end(); itr++) { ans = min(ans, cost_all - itr->second); } cout << ans << endl; }