```c #include <stdio.h> #include <stdlib.h> #define MOD 18446744073709551616 int cmp(const void *a, const void *b) { return *(int*)a - *(int*)b; } unsigned long long minCost(int n, int *num, int *cost) { qsort(cost, n, sizeof(int), cmp); unsigned long long totalCost = 0; for (int i = 0; i < n; i++) { totalCost += (unsigned long long)num[i] * cost[i] % MOD; } return totalCost % MOD; } int main() { int n; scanf("%d", &n); int *num = (int*)malloc(n * sizeof(int)); int *cost = (int*)malloc(n * sizeof(int)); for (int i = 0; i < n; i++) { scanf("%d", &num[i]); } for (int i = 0; i < n; i++) { scanf("%d", &cost[i]); } unsigned long long result = minCost(n, num, cost); printf("%llu\n", result); free(num); free(cost); return 0; } ``` [2024-11-10 19:21:52 | AI写代码神器 | 570点数解答]