#include <cstdio>
#include <cmath>
#include <algorithm>
long long odp, n, m, t[500005], t2[500005], d, popd, b;
int main(){
scanf("%lld%lld", &n, &m);
for( int i=1 ; i<=n ; i++ ){
scanf("%lld", &t[i]);
}
for( int i=1 ; i<=m ; i++ ){
scanf("%lld%lld", &d, &b);
odp=0;
for( int j=1 ; j<=n ; j++ ){
t2[j]+=t[j]*(d-popd);
odp+=std::max((long long)0, t2[j]-b);
t2[j]=std::min(t2[j], b);
}
printf("%lld\n", odp);
popd=d;
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <cstdio> #include <cmath> #include <algorithm> long long odp, n, m, t[500005], t2[500005], d, popd, b; int main(){ scanf("%lld%lld", &n, &m); for( int i=1 ; i<=n ; i++ ){ scanf("%lld", &t[i]); } for( int i=1 ; i<=m ; i++ ){ scanf("%lld%lld", &d, &b); odp=0; for( int j=1 ; j<=n ; j++ ){ t2[j]+=t[j]*(d-popd); odp+=std::max((long long)0, t2[j]-b); t2[j]=std::min(t2[j], b); } printf("%lld\n", odp); popd=d; } } |
English