Abonamente

Time limit: 1.5s Memory limit: 256MB Input: Output:

Gigel vrea să își cumpere abonamente la NN companii. Fiecare companie vinde trei tipuri de abonamente (Gigel nu poate să cumpere mai mult de un abonament de la o singură companie). Gigel îi atribuie fiecărui abonament un scor bazat pe cât de util este acesta în viața sa de zi cu zi.

Abonamentul starter al companiei ii costă 00 monede și are scorul aia_i, abonamentul standard costă 11 monede și are scorul bib_i, iar abonamentul premium costă 22 monede și are scorul cic_i.

Cerință

Deoarece Gigel se duce la cazino în aceasta seara, el nu știe câte monede va mai avea pentru cumpărarea abonamentelor, de aceea el vă pune QQ întrebări în care vă spune câte monede mai are dupa seara de cazino. Ajutați-l pe Gigel să găsească suma maximă a scorurilor abonamentelor pe care le poate cumpăra de la cele NN companii, pentru fiecare scenariu cerut.

Date de intrare

Pe prima linie se găsesc două numere întregi, NN si QQ.
Pe a doua linie se găsesc NN numere întregi reprezentând șirul aa.
Pe a treia linie se găsesc NN numere întregi reprezentând șirul bb.
Pe a patra linie se găsesc NN numere întregi reprezentând șirul cc.
Pe următoarea linie se află QQ numere întregi KiK_i reprezentând numărul de monede pe care Gigel dorește să le cheltuiască pe abonamente.

Date de ieșire

Pe prima linie se vor afla QQ numere, al ii-lea dintre ele reprezentând răspunsul la a ii-a întrebare.

Restricții și precizări

Atenție!\textcolor{red}{Atenție!} Din cauza numărului mare de date de intrare, respectiv ieșire, vă recomandăm să adăugați următoarele linii de cod la începutul funcției main().

ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
  • 1N300 0001 \leq N \leq 300 \ 000
  • 1Q2N1 \leq Q \leq 2 \cdot N
  • 1K2N1 \leq K \leq 2 \cdot N
  • 0aibici1090 \leq a_i \leq b_i \leq c_i \leq 10^9
  • Gigel cumpără exact un abonament de la fiecare companie
# Punctaj Restricții
1 21 N3 000N \leq 3 \ 000
2 16 bi=cib_i = c_i pentru fiecare ii
3 23 K10 000K \leq 10 \ 000
4 18 Q=1Q = 1
5 22 Fără restricții suplimentare

Exemplu

stdin

4 3
2 2 1 0
8 3 2 1
9 7 3 12
1 3 6

stdout

11 
23 
29

Explicație

Vom explica răspunsul doar la a doua întrebare (K=3)(K = 3):

# Compania 1 Compania 2 Compania 3 Compania 4
Starter 2 2\textcolor{red}{2} 1\textcolor{red}{1} 0
Standard 8\textcolor{red}{8} 3 2 1
Premium 9 7 3 12\textcolor{red}{12}

Gigel va cumpăra abonamentul standard de la prima companie, abonamentul starter de la a 22-a si a 33-a companie și abonamentul premium de la a 44-a companie. Suma scorurilor acestor abonamente este 8+2+1+12=238 + 2 + 1 + 12 = 23.

Log in or sign up to be able to send submissions!