#include <iostream> using namespace std; int main() { int customerCount, cookerCount; cin >> customerCount >> cookerCount; long long diffs[200010]; long long prevT = 0; for (int i = 0; i < customerCount; ++i) { long long currT; cin >> currT; diffs[i] = currT - prevT; prevT = currT; } for (int cooker = 0; cooker < cookerCount; ++cooker) { int power; cin >> power; long long waitingSum = 0; long long prevWait = 0; for (int i = 0; i < customerCount; ++i) { long long currWait = diffs[i] - prevWait; long long waitTime = currWait < power ? power - currWait : 0; waitingSum += waitTime; prevWait = waitTime; } cout << waitingSum << endl; } }
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 | #include <iostream> using namespace std; int main() { int customerCount, cookerCount; cin >> customerCount >> cookerCount; long long diffs[200010]; long long prevT = 0; for (int i = 0; i < customerCount; ++i) { long long currT; cin >> currT; diffs[i] = currT - prevT; prevT = currT; } for (int cooker = 0; cooker < cookerCount; ++cooker) { int power; cin >> power; long long waitingSum = 0; long long prevWait = 0; for (int i = 0; i < customerCount; ++i) { long long currWait = diffs[i] - prevWait; long long waitTime = currWait < power ? power - currWait : 0; waitingSum += waitTime; prevWait = waitTime; } cout << waitingSum << endl; } } |