#include <iostream> using namespace std; uint32_t clients, toasters, i, j; uint64_t lastTime, currentTime; uint64_t sum; uint64_t clientPlusToaster; int main() { cin >> clients >> toasters; uint64_t* clientTimes = new uint64_t[clients]; uint32_t* toasterTimes = new uint32_t[toasters]; //Load client times for (i = 0; i < clients; ++i) { cin >> clientTimes[i]; } //Load toaster times for (i = 0; i < toasters; ++i) { cin >> toasterTimes[i]; } for (i = 0; i < toasters; ++i) { if (toasterTimes[i] > clientTimes[0]) { sum = (uint64_t)toasterTimes[i] - clientTimes[0]; } else { sum = 0; } for (int j = clients-1; j > 0; --j) { clientPlusToaster = (uint64_t)toasterTimes[i] + clientTimes[j - 1]; if (clientPlusToaster > clientTimes[j]) { sum += clientPlusToaster - clientTimes[j]; } } cout << sum << '\n'; } delete [] clientTimes; delete [] toasterTimes; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <iostream> using namespace std; uint32_t clients, toasters, i, j; uint64_t lastTime, currentTime; uint64_t sum; uint64_t clientPlusToaster; int main() { cin >> clients >> toasters; uint64_t* clientTimes = new uint64_t[clients]; uint32_t* toasterTimes = new uint32_t[toasters]; //Load client times for (i = 0; i < clients; ++i) { cin >> clientTimes[i]; } //Load toaster times for (i = 0; i < toasters; ++i) { cin >> toasterTimes[i]; } for (i = 0; i < toasters; ++i) { if (toasterTimes[i] > clientTimes[0]) { sum = (uint64_t)toasterTimes[i] - clientTimes[0]; } else { sum = 0; } for (int j = clients-1; j > 0; --j) { clientPlusToaster = (uint64_t)toasterTimes[i] + clientTimes[j - 1]; if (clientPlusToaster > clientTimes[j]) { sum += clientPlusToaster - clientTimes[j]; } } cout << sum << '\n'; } delete [] clientTimes; delete [] toasterTimes; } |