#include <stdio.h> #include <stdlib.h> #define max(a,b) \ ({ __typeof__ (a) _a = (a); \ __typeof__ (b) _b = (b); \ _a > _b ? _a : _b; }) int main() { int n, m; long long int d, s, p; if(scanf ("%d",&n) != 0){ if(scanf ("%d",&m) != 0){ long long int *t = calloc(n, sizeof(long long int)); for(int i = n; i--; ) { if(scanf ("%lld", &t[i]) != 0) { } } for(int i = m; i--; ) { if(scanf ("%lld", &d) != 0) { p=0; s= 0; for(int j = n; j--; ) { p = max(p+d, t[j]); s += p - t[j]; } printf("%lld\n", s); } } } } 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 | #include <stdio.h> #include <stdlib.h> #define max(a,b) \ ({ __typeof__ (a) _a = (a); \ __typeof__ (b) _b = (b); \ _a > _b ? _a : _b; }) int main() { int n, m; long long int d, s, p; if(scanf ("%d",&n) != 0){ if(scanf ("%d",&m) != 0){ long long int *t = calloc(n, sizeof(long long int)); for(int i = n; i--; ) { if(scanf ("%lld", &t[i]) != 0) { } } for(int i = m; i--; ) { if(scanf ("%lld", &d) != 0) { p=0; s= 0; for(int j = n; j--; ) { p = max(p+d, t[j]); s += p - t[j]; } printf("%lld\n", s); } } } } return 0; } |