#include <cstdio> const int MAX = 250001; long long kl[MAX]; int pk[MAX]; long long maks(long long a, long long b) { return a > b ? a : b; } int main() { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { scanf("%Ld", &kl[i]); } for (int i = 0; i < m; i++) { long long out = 0; long long mom = 0; int a; scanf("%d", &a); for (int j = 0; j < n; j++) { // printf("%Ld %Ld %Ld\n", kl[j], mom, a); long long res = maks(a - (kl[j] - mom), 0); out += res; mom = kl[j] + res; } printf("%Ld\n", out); } }
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 | #include <cstdio> const int MAX = 250001; long long kl[MAX]; int pk[MAX]; long long maks(long long a, long long b) { return a > b ? a : b; } int main() { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { scanf("%Ld", &kl[i]); } for (int i = 0; i < m; i++) { long long out = 0; long long mom = 0; int a; scanf("%d", &a); for (int j = 0; j < n; j++) { // printf("%Ld %Ld %Ld\n", kl[j], mom, a); long long res = maks(a - (kl[j] - mom), 0); out += res; mom = kl[j] + res; } printf("%Ld\n", out); } } |