#include <cstdio> #include <vector> #define MACHINES 200000 #define PEOPLE 200000 typedef long long LL; using namespace std; int machines[MACHINES]; LL people[PEOPLE]; int n, m; LL solve_machine(int machine) { LL pop = 0; LL res = 0; for(int i = 0; i < n; ++i) { int s = people[i] - pop - machine; if(people[i] - pop < machine) { res += pop + machine - people[i]; pop = pop + machine; } else { pop = people[i]; } } return res; } int main() { scanf("%d %d", &n, &m); for(int i = 0; i < n; ++i) { // cin >> people[i]; scanf("%lld", &people[i]); } for(int i = 0; i < m; ++i) { // cin >> machines[j]; scanf("%d", &machines[i]); } for(int i = 0; i < m; ++i) { printf("%lld\n", solve_machine(machines[i])); // cout << solve_machine(machines[i]) << endl; } return 0; }
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 | #include <cstdio> #include <vector> #define MACHINES 200000 #define PEOPLE 200000 typedef long long LL; using namespace std; int machines[MACHINES]; LL people[PEOPLE]; int n, m; LL solve_machine(int machine) { LL pop = 0; LL res = 0; for(int i = 0; i < n; ++i) { int s = people[i] - pop - machine; if(people[i] - pop < machine) { res += pop + machine - people[i]; pop = pop + machine; } else { pop = people[i]; } } return res; } int main() { scanf("%d %d", &n, &m); for(int i = 0; i < n; ++i) { // cin >> people[i]; scanf("%lld", &people[i]); } for(int i = 0; i < m; ++i) { // cin >> machines[j]; scanf("%d", &machines[i]); } for(int i = 0; i < m; ++i) { printf("%lld\n", solve_machine(machines[i])); // cout << solve_machine(machines[i]) << endl; } return 0; } |