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