#include<stdio.h> #include<limits.h> #include<stdlib.h> int main(void) { unsigned long n,m,i,j; unsigned long *a; unsigned long long *l; unsigned long long d,b,t,s,dx; scanf("%lu %lu", &n,&m); a=malloc(4*n); l=malloc(8*n); for(i=0;i<n;i++) scanf("%lu", &(a[i])); t=0; for(i=0;i<m;i++){ s = 0; scanf("%llu %llu",&d,&b); for(j=0;j<n;j++){ dx = l[j]+a[j]*(d-t); if(dx>b){ s += dx - b; l[j] = b; } else { l[j] = dx; } } printf("%lu\n",s); t = 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<stdio.h> #include<limits.h> #include<stdlib.h> int main(void) { unsigned long n,m,i,j; unsigned long *a; unsigned long long *l; unsigned long long d,b,t,s,dx; scanf("%lu %lu", &n,&m); a=malloc(4*n); l=malloc(8*n); for(i=0;i<n;i++) scanf("%lu", &(a[i])); t=0; for(i=0;i<m;i++){ s = 0; scanf("%llu %llu",&d,&b); for(j=0;j<n;j++){ dx = l[j]+a[j]*(d-t); if(dx>b){ s += dx - b; l[j] = b; } else { l[j] = dx; } } printf("%lu\n",s); t = d; } return 0; } |