From c4b82acf0ee98f6710893da094c7b0a43819d117 Mon Sep 17 00:00:00 2001 From: TooYoungTooSimp <6648049+TooYoungTooSimp@users.noreply.github.com> Date: Sat, 13 Jul 2019 18:24:03 +0800 Subject: [PATCH] Sat, 13 Jul 2019 18:24:02 +0800 --- OnlineJudges/lydsy/1788.cpp | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 OnlineJudges/lydsy/1788.cpp diff --git a/OnlineJudges/lydsy/1788.cpp b/OnlineJudges/lydsy/1788.cpp new file mode 100644 index 0000000..663e874 --- /dev/null +++ b/OnlineJudges/lydsy/1788.cpp @@ -0,0 +1,39 @@ +#include +using namespace std; +const int N = 1e5 + 50; +int X[N], A[N], B[N]; +int main() +{ + int n; + char op[2]; + scanf("%d", &n); + for (int i = 1; i <= n; i++) + scanf("%d", X + i); + for (int i = 1; i <= n; i++) + scanf("%d", A + i); + scanf("%s", op); + for (int i = 1; i <= n; i++) + scanf("%d", B + i); + if (*op == '+') + for (int i = n; i; i--) + A[i] += B[i]; + else + for (int i = n; i; i--) + A[i] -= B[i]; + for (int i = n; i; i--) + { + while (A[i] < 0) + { + A[i - 1]--; + A[i] += X[i]; + } + while (A[i] >= X[i]) + { + A[i - 1]++; + A[i] -= X[i]; + } + } + for (int i = 1; i <= n; i++) + printf("%d ", A[i]); + return 0; +} \ No newline at end of file