108252024-04-16 08:23:18TomaSajtÖsszegzésekcpp17Accepted 100/1008ms4336 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

void earlier(vector<int> x, int n) {
  int sum = 0;
  for (int i = n; i >= 1; i--) {
    if (x[i] == 1) sum++;
    else {
      for (int j = 1; j < i; j++) cout << x[j] << ' ';
      int h = x[i] - 1;
      cout << h << ' ';
      sum++;
      while (sum > h) {
        cout << h << ' ';
        sum -= h;
      }
      cout << sum << '\n';
      return;
    }
  }
  cout << "0\n";
}

void later(vector<int> x, int n) {
  int sum = 0;
  if (n == 1) {
    cout << "0\n";
    return;
  }
  for (int i = n; i >= 1; i--) {
    if (sum < 1 || x[i - 1] <= x[i]) sum += x[i];
    else {
      for (int j = 1; j < i; j++) cout << x[j] << ' ';
      cout << x[i] + 1 << ' ';
      sum--;
      while (sum--) cout << "1 ";
      cout << '\n';
      return;
    }
  }
}

signed main() {
  ios::sync_with_stdio(0), cin.tie(0);
  int n;
  cin >> n;
  vector<int> x(n + 1);
  for (int i = 1; i <= n; i++) cin >> x[i];
  x[0] = INT_MAX;
  later(x, n);
  earlier(x, n);
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1696 KiB
2Accepted3ms1864 KiB
3Accepted3ms2220 KiB
subtask26/6
4Accepted3ms2156 KiB
5Accepted3ms2388 KiB
6Accepted3ms2392 KiB
7Accepted3ms2372 KiB
8Accepted2ms2372 KiB
subtask36/6
9Accepted3ms2596 KiB
10Accepted3ms2560 KiB
11Accepted3ms2712 KiB
12Accepted4ms3192 KiB
13Accepted4ms3484 KiB
subtask410/10
14Accepted3ms2596 KiB
15Accepted3ms2560 KiB
16Accepted3ms2712 KiB
17Accepted4ms3192 KiB
18Accepted4ms3484 KiB
19Accepted3ms2992 KiB
20Accepted3ms3012 KiB
21Accepted7ms3532 KiB
22Accepted8ms3748 KiB
23Accepted7ms3752 KiB
subtask510/10
24Accepted3ms3496 KiB
25Accepted3ms3620 KiB
26Accepted3ms3652 KiB
27Accepted3ms4024 KiB
28Accepted3ms3768 KiB
subtask610/10
29Accepted3ms3884 KiB
30Accepted3ms3972 KiB
31Accepted3ms3852 KiB
32Accepted2ms3852 KiB
33Accepted3ms3856 KiB
subtask758/58
34Accepted3ms3968 KiB
35Accepted2ms3860 KiB
36Accepted3ms3880 KiB
37Accepted3ms2156 KiB
38Accepted3ms2388 KiB
39Accepted3ms2392 KiB
40Accepted3ms2372 KiB
41Accepted2ms2372 KiB
42Accepted3ms2596 KiB
43Accepted3ms2560 KiB
44Accepted3ms2712 KiB
45Accepted4ms3192 KiB
46Accepted4ms3484 KiB
47Accepted3ms2992 KiB
48Accepted3ms3012 KiB
49Accepted7ms3532 KiB
50Accepted8ms3748 KiB
51Accepted3ms3768 KiB
52Accepted3ms3884 KiB
53Accepted3ms3972 KiB
54Accepted3ms3852 KiB
55Accepted2ms3852 KiB
56Accepted3ms3856 KiB
57Accepted3ms3872 KiB
58Accepted3ms3856 KiB
59Accepted3ms3856 KiB
60Accepted3ms4080 KiB
61Accepted3ms4068 KiB
62Accepted3ms4188 KiB
63Accepted3ms4184 KiB
64Accepted3ms4248 KiB
65Accepted4ms4152 KiB
66Accepted4ms4336 KiB