#include <stdio.h>
int antre[2005];
int main () {
// n statsiun, m robot
// n baris berikutnya : r tarif
// m baris berikutnya : w berat robot
// 2m baris berikutnya : robot ke i datang (i > 0) atau robot ke i pergi (i < 0)
int n
, m
; scanf("%d %d", &n
, &m
); int r[105], w[2005];
for(int i
= 0; i
< n
; i
++) scanf("%d", &r
[i
]); for(int i
= 1; i
<= m
; i
++) scanf("%d", &w
[i
]); //extra variables
//ans = money, station stores robot idx, or -1 if empty
//parkir where robots at
long long ans = 0;
int station[105];
int parkir[105];
for(int i = 0; i < n; i++) station[i] = -1;
//manual queue (antre)
//left defines the next robot that deserves an exit
//right defines where the next robot will be stored (in terms of index)
//if left == right queue is empty
int left = 0;
int right = 0;
for(int ite = 1; ite <= 2 * m; ite++) {
if(x > 0) {
int find = -1;
for(int i = 0; i < n; i++) {
if(station[i] == -1) {
station[i] = x;
parkir[x] = i;
find = 1;
break;
}
}
if(find == -1) {
antre[right] = x;
right++;
}
} else { //count ans here
//robot leaving
x *= -1;
ans = ans + (long long)r[parkir[x]] * w[x];
// printf("%d : %d | %d | %d\n", x, parkir[x], r[parkir[x]], w[x]);
station[parkir[x]] = -1;
//if there exist a robot waiting
if(left < right) {
int cur = antre[left];
// printf("Added : %d", cur);
left++;
parkir[cur] = parkir[x];
station[parkir[x]] = cur;
}
}
// for(int i = 0; i < n; i++) {
// printf("%d | ", station[i]);
// }
// printf("\n");
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYW50cmVbMjAwNV07CgppbnQgbWFpbiAoKSB7CiAgICAvLyBuIHN0YXRzaXVuLCBtIHJvYm90CiAgICAvLyBuIGJhcmlzIGJlcmlrdXRueWEgOiByIHRhcmlmCiAgICAvLyBtIGJhcmlzIGJlcmlrdXRueWEgOiB3IGJlcmF0IHJvYm90CiAgICAvLyAybSBiYXJpcyBiZXJpa3V0bnlhIDogcm9ib3Qga2UgaSBkYXRhbmcgKGkgPiAwKSBhdGF1IHJvYm90IGtlIGkgcGVyZ2kgKGkgPCAwKQogICAgaW50IG4sIG07IHNjYW5mKCIlZCAlZCIsICZuLCAmbSk7CiAgICBpbnQgclsxMDVdLCB3WzIwMDVdOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgc2NhbmYoIiVkIiwgJnJbaV0pOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHNjYW5mKCIlZCIsICZ3W2ldKTsKICAgIC8vZXh0cmEgdmFyaWFibGVzCiAgICAvL2FucyA9IG1vbmV5LCBzdGF0aW9uIHN0b3JlcyByb2JvdCBpZHgsIG9yIC0xIGlmIGVtcHR5CiAgICAvL3BhcmtpciB3aGVyZSByb2JvdHMgYXQKICAgIGxvbmcgbG9uZyBhbnMgPSAwOwogICAgaW50IHN0YXRpb25bMTA1XTsKICAgIGludCBwYXJraXJbMTA1XTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHN0YXRpb25baV0gPSAtMTsKICAgIC8vbWFudWFsIHF1ZXVlIChhbnRyZSkKICAgIC8vbGVmdCBkZWZpbmVzIHRoZSBuZXh0IHJvYm90IHRoYXQgZGVzZXJ2ZXMgYW4gZXhpdAogICAgLy9yaWdodCBkZWZpbmVzIHdoZXJlIHRoZSBuZXh0IHJvYm90IHdpbGwgYmUgc3RvcmVkIChpbiB0ZXJtcyBvZiBpbmRleCkKICAgIC8vaWYgbGVmdCA9PSByaWdodCBxdWV1ZSBpcyBlbXB0eQogICAgaW50IGxlZnQgPSAwOwogICAgaW50IHJpZ2h0ID0gMDsKCiAgICBmb3IoaW50IGl0ZSA9IDE7IGl0ZSA8PSAyICogbTsgaXRlKyspIHsKICAgICAgICBpbnQgeDsgc2NhbmYoIiVkIiwgJngpOwogICAgICAgIGlmKHggPiAwKSB7CiAgICAgICAgICAgIGludCBmaW5kID0gLTE7CiAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmKHN0YXRpb25baV0gPT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICBzdGF0aW9uW2ldID0geDsKICAgICAgICAgICAgICAgICAgICBwYXJraXJbeF0gPSBpOwogICAgICAgICAgICAgICAgICAgIGZpbmQgPSAxOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGZpbmQgPT0gLTEpIHsKICAgICAgICAgICAgICAgIGFudHJlW3JpZ2h0XSA9IHg7CiAgICAgICAgICAgICAgICByaWdodCsrOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsgLy9jb3VudCBhbnMgaGVyZQogICAgICAgICAgICAvL3JvYm90IGxlYXZpbmcKICAgICAgICAgICAgeCAqPSAtMTsKICAgICAgICAgICAgYW5zID0gYW5zICsgKGxvbmcgbG9uZylyW3Bhcmtpclt4XV0gKiB3W3hdOwogICAgICAgICAvLyAgIHByaW50ZigiJWQgOiAlZCB8ICVkIHwgJWRcbiIsIHgsIHBhcmtpclt4XSwgcltwYXJraXJbeF1dLCB3W3hdKTsKICAgICAgICAgICAgc3RhdGlvbltwYXJraXJbeF1dID0gLTE7CiAgICAgICAgICAgIC8vaWYgdGhlcmUgZXhpc3QgYSByb2JvdCB3YWl0aW5nCiAgICAgICAgICAgIGlmKGxlZnQgPCByaWdodCkgewogICAgICAgICAgICAgICAgaW50IGN1ciA9IGFudHJlW2xlZnRdOwogICAgICAgIC8vICAgICAgICBwcmludGYoIkFkZGVkIDogJWQiLCBjdXIpOwogICAgICAgICAgICAgICAgbGVmdCsrOwogICAgICAgICAgICAgICAgcGFya2lyW2N1cl0gPSBwYXJraXJbeF07CiAgICAgICAgICAgICAgICBzdGF0aW9uW3Bhcmtpclt4XV0gPSBjdXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAvLyAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgLy8gICAgICAgICAgcHJpbnRmKCIlZCB8ICIsIHN0YXRpb25baV0pOwogICAvLyAgICAgfQogICAvLyAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcHJpbnRmKCIlZCIsIGFucyk7CgogICAgcmV0dXJuIDA7Cn0K