#include <cstdio>
#include <algorithm>
using namespace std;
long long int b[500010];
long long int d[500010];
long long int h[500010];
int main()
{
long long int n, m;
scanf("%lld%lld", &n, &m);
long long int* a = new long long int[n];
for (int i = 0; i < n; i++) scanf("%lld", &a[i]);
b[0] = 0;
d[0] = 0;
for (int i = 0; i < m; i++)
{
long long int t, hh;
scanf("%lld%lld", &t, &hh);
d[i + 1] = t;
b[i + 1] = hh;
long long int dt = (i == 0) ? t : t - d[i];
long long int w = 0;
for (int i = 0; i < n; i++)
{
h[i] += a[i] * dt;
if (h[i] > hh)
{
w += h[i] - hh;
h[i] = hh;
}
}
printf("%lld\n", w);
}
}
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 39 40 41 | #include <cstdio> #include <algorithm> using namespace std; long long int b[500010]; long long int d[500010]; long long int h[500010]; int main() { long long int n, m; scanf("%lld%lld", &n, &m); long long int* a = new long long int[n]; for (int i = 0; i < n; i++) scanf("%lld", &a[i]); b[0] = 0; d[0] = 0; for (int i = 0; i < m; i++) { long long int t, hh; scanf("%lld%lld", &t, &hh); d[i + 1] = t; b[i + 1] = hh; long long int dt = (i == 0) ? t : t - d[i]; long long int w = 0; for (int i = 0; i < n; i++) { h[i] += a[i] * dt; if (h[i] > hh) { w += h[i] - hh; h[i] = hh; } } printf("%lld\n", w); } } |
English