جشنوارهی فیلم فجر در حال برگزاری است و محمد به عنوان داور آن انتخاب شده است. او تصمیم گرفته است تا به ترتیب فیلمهای $a_0, a_1, \ldots, a_{n - 1}$ را ببیند. توجه کنید که ممکن است محمد یک فیلم را بیش از یکبار ببیند.
در این جشنواره، $m$ سینما در جشنوارهی فیلم فجر در حال اکران فیلم هستند. هر سینِما مجموعه $v_i$ از فیلمها را نشان میدهد. محمد میتواند با پرداخت هزینه $p_i$ به سینمای شماره $i$ رفته و تمامی فیلمهای آن سینما را به هر تعداد و به هر ترتیب که بخواهد، ببیند. اما او حتما باید هر فیلم اکران شده در این سینما را، در همان روز، حداقل یک بار ببیند. محمد در هر روز تنها میتواند به یک سینما برود.
محمد میخواهد با کمترین هزینه تمامی فیلمهای دنبالهی $a$ را به همان ترتیب ببیند. برای او کمترین هزینه را بیابید.
توجه کنید که جشنوارهی فیلم فجر تا مدتها برقرار است. همچنین محمد میتواند به تعداد دلخواه در هر روز فیلم ببیند و از لحاظ زمانی محدودیتی ندارد.
در این سوال شما باید تابع زیر را پیادهسازی کنید:
long long getMinimumCost(int n, int m, int *a, int *p, int* size, int **v)
این تابع دقیقاً یکبار فراخوانی میشود. آن را طوری پیادهسازی کنید تا کمترین هزینهای را که محمد با آن به هدفش میرسد، برگرداند . اگر محمد نمیتوانست به هدفش برسد، تابع باید عدد $-1$ را برگرداند.
ارزیاب نمونه ورودی را به صورت زیر میخواند: