#include <cstdio>
#include <algorithm>
const int MAX = 500000;
long long int a[MAX];
long long int akt[MAX];
int main(){
int n,m;
scanf("%d %d", &n, &m);
for(int i = 0; i < n; ++i){
scanf("%lld", &a[i]);
akt[i] = 0;
}
long long int d_tmp = 0;
long long int b_tmp = 0;
long long int b_now, d_now;
long long int suma, tmp;
for(int i = 0; i < m; ++i){
suma = 0;
scanf("%lld %lld", &d_now, &b_now);
for(int j = 0; j < n; ++j){
//printf("%d iteprz: %lld\n", i, suma);
akt[j] += (d_now - d_tmp)*a[j];
//printf("%d itesumow: %lld\n", i, akt[j]);
if(akt[j] > b_now){
suma += akt[j] - b_now;
akt[j] = b_now;
}
//printf("%d itepo: %lld\n", i, suma);
}
d_tmp = d_now;
b_tmp = b_now;
printf("%lld\n", suma);
}
}
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 | #include <cstdio> #include <algorithm> const int MAX = 500000; long long int a[MAX]; long long int akt[MAX]; int main(){ int n,m; scanf("%d %d", &n, &m); for(int i = 0; i < n; ++i){ scanf("%lld", &a[i]); akt[i] = 0; } long long int d_tmp = 0; long long int b_tmp = 0; long long int b_now, d_now; long long int suma, tmp; for(int i = 0; i < m; ++i){ suma = 0; scanf("%lld %lld", &d_now, &b_now); for(int j = 0; j < n; ++j){ //printf("%d iteprz: %lld\n", i, suma); akt[j] += (d_now - d_tmp)*a[j]; //printf("%d itesumow: %lld\n", i, akt[j]); if(akt[j] > b_now){ suma += akt[j] - b_now; akt[j] = b_now; } //printf("%d itepo: %lld\n", i, suma); } d_tmp = d_now; b_tmp = b_now; printf("%lld\n", suma); } } |
English