#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; } |
English