109932024-05-03 12:39:16EsVagyÖsszegzésekcpp17Elfogadva 100/10019ms788 KiB
#include <bits/stdc++.h>
using namespace std;
using t = int;

int main() {
  t size;
  cin >> size;
  vector<t> vec(size);
  for (t i = 0; i < size; i++) {
    cin >> vec[i];
  }

  {
    t last = vec[vec.size() - 1];
    t index = vec.size() - 1;
    t sum = 0;
    while (true) {
      if (index == -1) {
        cout << "0\n";
        break;
      }

      sum += vec[index];
      if (vec[index - 1] != last || index == 0) {
        if (sum == last) {
          last = vec[index - 1];
          index--;
          continue;
        }

        for (t i = 0; i < index; i++) {
          cout << vec[i] << " ";
        }
        cout << last + 1 << " ";
        sum -= last + 1;
        while (sum > 0) {
          cout << 1 << " ";
          sum--;
        }
        cout << "\n";
        break;
      }
      index--;
    }
  }
  {
    t index = vec.size() - 1;
    t sum = 0;
    while (true) {
      if (index == -1) {
        cout << "0\n";
        break;
      }
      sum += vec[index];
      if (vec[index] == 1) {
        index--;
        continue;
      }

      for (t i = 0; i < index; i++) {
        cout << vec[i] << " ";
      }
      cout << vec[index] - 1 << " ";
      sum -= vec[index] - 1;
      while (sum > 0) {
        cout << min(sum, vec[index] - 1) << " ";
        sum -= min(sum, vec[index] - 1);
      }
      cout << "\n";
      break;
    }
  }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva2ms492 KiB
2Elfogadva3ms612 KiB
3Elfogadva3ms356 KiB
subtask26/6
4Elfogadva2ms412 KiB
5Elfogadva2ms356 KiB
6Elfogadva2ms512 KiB
7Elfogadva2ms356 KiB
8Elfogadva2ms420 KiB
subtask36/6
9Elfogadva2ms356 KiB
10Elfogadva3ms408 KiB
11Elfogadva3ms408 KiB
12Elfogadva4ms500 KiB
13Elfogadva4ms536 KiB
subtask410/10
14Elfogadva2ms356 KiB
15Elfogadva3ms408 KiB
16Elfogadva3ms408 KiB
17Elfogadva4ms500 KiB
18Elfogadva4ms536 KiB
19Elfogadva3ms356 KiB
20Elfogadva3ms504 KiB
21Elfogadva17ms612 KiB
22Elfogadva19ms788 KiB
23Elfogadva17ms540 KiB
subtask510/10
24Elfogadva3ms484 KiB
25Elfogadva3ms484 KiB
26Elfogadva3ms636 KiB
27Elfogadva3ms656 KiB
28Elfogadva2ms376 KiB
subtask610/10
29Elfogadva3ms484 KiB
30Elfogadva3ms420 KiB
31Elfogadva3ms536 KiB
32Elfogadva3ms384 KiB
33Elfogadva2ms376 KiB
subtask758/58
34Elfogadva2ms384 KiB
35Elfogadva3ms484 KiB
36Elfogadva3ms360 KiB
37Elfogadva2ms412 KiB
38Elfogadva2ms356 KiB
39Elfogadva2ms512 KiB
40Elfogadva2ms356 KiB
41Elfogadva2ms420 KiB
42Elfogadva2ms356 KiB
43Elfogadva3ms408 KiB
44Elfogadva3ms408 KiB
45Elfogadva4ms500 KiB
46Elfogadva4ms536 KiB
47Elfogadva3ms356 KiB
48Elfogadva3ms504 KiB
49Elfogadva17ms612 KiB
50Elfogadva19ms788 KiB
51Elfogadva2ms376 KiB
52Elfogadva3ms484 KiB
53Elfogadva3ms420 KiB
54Elfogadva3ms536 KiB
55Elfogadva3ms384 KiB
56Elfogadva2ms376 KiB
57Elfogadva3ms504 KiB
58Elfogadva2ms376 KiB
59Elfogadva2ms376 KiB
60Elfogadva3ms500 KiB
61Elfogadva2ms484 KiB
62Elfogadva3ms356 KiB
63Elfogadva3ms504 KiB
64Elfogadva4ms376 KiB
65Elfogadva4ms376 KiB
66Elfogadva7ms484 KiB