#include <cstdio>
#include <algorithm>
using namespace std;
typedef unsigned long long ull;
static ull a[500005];
static ull c[500005];
int main() {
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; ++i)
scanf("%d", &a[i]);
ull last = 0;
for (int i = 0; i < m; ++i) {
ull d, b;
scanf("%llu %llu", &d, &b);
ull delta = d - last;
ull res = 0;
for (int j = 0; j < n; ++j) {
c[j] += a[j]*delta;
if (b < c[j]) {
res += c[j]-b;
c[j] = b;
}
}
last = d;
printf("%llu\n", res);
}
}
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 | #include <cstdio> #include <algorithm> using namespace std; typedef unsigned long long ull; static ull a[500005]; static ull c[500005]; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 0; i < n; ++i) scanf("%d", &a[i]); ull last = 0; for (int i = 0; i < m; ++i) { ull d, b; scanf("%llu %llu", &d, &b); ull delta = d - last; ull res = 0; for (int j = 0; j < n; ++j) { c[j] += a[j]*delta; if (b < c[j]) { res += c[j]-b; c[j] = b; } } last = d; printf("%llu\n", res); } } |
English