#include<bits/stdc++.h> using namespace std; typedef long long int63; int n, m; int63 a, b, t[500111], d[500111], w, pop; int main(){ scanf("%d%d", &n, &m); for( int i = 0; i<n; i++ ) scanf("%lld", &t[i]); for( int i = 0; i<m; i++ ){ scanf("%lld%lld", &a, &b); w = 0; for( int i = 0; i<n; i++ ) d[i] += t[i]*(a-pop); for( int i = 0; i<n; i++ ){ w += ( b<d[i] ? d[i]-b : 0 ); d[i] = min(b, d[i]); } printf("%lld\n", w); pop = a; } 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 | #include<bits/stdc++.h> using namespace std; typedef long long int63; int n, m; int63 a, b, t[500111], d[500111], w, pop; int main(){ scanf("%d%d", &n, &m); for( int i = 0; i<n; i++ ) scanf("%lld", &t[i]); for( int i = 0; i<m; i++ ){ scanf("%lld%lld", &a, &b); w = 0; for( int i = 0; i<n; i++ ) d[i] += t[i]*(a-pop); for( int i = 0; i<n; i++ ){ w += ( b<d[i] ? d[i]-b : 0 ); d[i] = min(b, d[i]); } printf("%lld\n", w); pop = a; } return 0; } |