#include <inttypes.h> #include <stdio.h> static uint64_t q[500000]; int main(void) { uint32_t m,n,i,j,a[500000]; uint64_t d,b,e = 0; scanf("%"SCNu32"%"SCNu32, &n, &m); for (i=0; i<n; i++) scanf("%"SCNu32, &a[i]); for (i=0; i<n; i++) { uint64_t s = 0; scanf("%"SCNu32"%"SCNu32, &d, &b); for (j=0; j<n; j++) { uint64_t r = q[j]+(d-e)*a[j]; if (r > b) { q[j] = b; s += r-b; } else { q[j] = r; } } printf("%"PRIu64"\n", s); e = d; } 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 | #include <inttypes.h> #include <stdio.h> static uint64_t q[500000]; int main(void) { uint32_t m,n,i,j,a[500000]; uint64_t d,b,e = 0; scanf("%"SCNu32"%"SCNu32, &n, &m); for (i=0; i<n; i++) scanf("%"SCNu32, &a[i]); for (i=0; i<n; i++) { uint64_t s = 0; scanf("%"SCNu32"%"SCNu32, &d, &b); for (j=0; j<n; j++) { uint64_t r = q[j]+(d-e)*a[j]; if (r > b) { q[j] = b; s += r-b; } else { q[j] = r; } } printf("%"PRIu64"\n", s); e = d; } return 0; } |