163862025-04-29 10:40:09BucsMateÖsszegzésekcpp17Elfogadva 100/10017ms1420 KiB
#include <iostream>

using namespace std;

int sor[200005] = {};

void kovetkezo(int N, int sum)
{
    int temp_sor[200005] = {};
    for(int i = 1; i <= N; i++){
        temp_sor[i] = sor[i];
    }

    int curr_sum = sum;
    int index = N;
    while(curr_sum == sum || temp_sor[index-1] == temp_sor[index]){
        curr_sum -= temp_sor[index];
        index--;
    }
    curr_sum++;
    temp_sor[index]++;
    index++;
    while(curr_sum < sum){
        temp_sor[index] = 1;
        index++;
        curr_sum++;
    }
    curr_sum = 0;
    for(int i = 1; curr_sum < sum; i++){
        cout << temp_sor[i] << " ";
        curr_sum += temp_sor[i];
    }
    cout << endl;
}

void elozo(int N, int sum)
{
    int temp_sor[200005] = {};
    for(int i = 1; i <= N; i++){
        temp_sor[i] = sor[i];
    }

    int curr_sum = sum;
    int index = N;
    while(temp_sor[index] == 1){
        curr_sum--;
        index--;
    }
    temp_sor[index]--;
    curr_sum--;
    index++;
    while(curr_sum < sum){
        if(sum - curr_sum <= temp_sor[index-1]){
            temp_sor[index] = sum - curr_sum;
            break;
        }
        temp_sor[index] = temp_sor[index-1];
        index++;
        curr_sum += temp_sor[index];
    }

    curr_sum = 0;
    for(int i = 1; curr_sum < sum; i++){
        cout << temp_sor[i] << " ";
        curr_sum += temp_sor[i];
    }
    cout << endl;
}

int main()
{
    int N;
    cin >> N;
    int sum = 0;
    for(int i = 1; i <= N; i++){
        cin >> sor[i];
        sum += sor[i];
    }
    if(N == 1){
        cout << "0\n";
    }
    else{
        kovetkezo(N, sum);
    }
    if(N == sum){
        cout << "0\n";
    }
    else{
        elozo(N, sum);
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva2ms1076 KiB
2Elfogadva2ms1076 KiB
3Elfogadva3ms1076 KiB
subtask26/6
4Elfogadva1ms316 KiB
5Elfogadva2ms1076 KiB
6Elfogadva2ms1092 KiB
7Elfogadva2ms1080 KiB
8Elfogadva2ms1268 KiB
subtask36/6
9Elfogadva1ms1076 KiB
10Elfogadva1ms1076 KiB
11Elfogadva2ms1136 KiB
12Elfogadva4ms1080 KiB
13Elfogadva4ms1076 KiB
subtask410/10
14Elfogadva1ms1076 KiB
15Elfogadva1ms1076 KiB
16Elfogadva2ms1136 KiB
17Elfogadva4ms1080 KiB
18Elfogadva4ms1076 KiB
19Elfogadva1ms1076 KiB
20Elfogadva2ms1076 KiB
21Elfogadva16ms1324 KiB
22Elfogadva17ms1328 KiB
23Elfogadva14ms1420 KiB
subtask510/10
24Elfogadva2ms1268 KiB
25Elfogadva2ms1268 KiB
26Elfogadva2ms1080 KiB
27Elfogadva2ms1076 KiB
28Elfogadva2ms1076 KiB
subtask610/10
29Elfogadva2ms1076 KiB
30Elfogadva2ms1112 KiB
31Elfogadva2ms1076 KiB
32Elfogadva2ms1076 KiB
33Elfogadva1ms1076 KiB
subtask758/58
34Elfogadva2ms1268 KiB
35Elfogadva1ms1076 KiB
36Elfogadva2ms1272 KiB
37Elfogadva1ms316 KiB
38Elfogadva2ms1076 KiB
39Elfogadva2ms1092 KiB
40Elfogadva2ms1080 KiB
41Elfogadva2ms1268 KiB
42Elfogadva1ms1076 KiB
43Elfogadva1ms1076 KiB
44Elfogadva2ms1136 KiB
45Elfogadva4ms1080 KiB
46Elfogadva4ms1076 KiB
47Elfogadva1ms1076 KiB
48Elfogadva2ms1076 KiB
49Elfogadva16ms1324 KiB
50Elfogadva17ms1328 KiB
51Elfogadva2ms1076 KiB
52Elfogadva2ms1076 KiB
53Elfogadva2ms1112 KiB
54Elfogadva2ms1076 KiB
55Elfogadva2ms1076 KiB
56Elfogadva1ms1076 KiB
57Elfogadva2ms1264 KiB
58Elfogadva2ms1076 KiB
59Elfogadva2ms1076 KiB
60Elfogadva1ms1076 KiB
61Elfogadva2ms1076 KiB
62Elfogadva2ms1076 KiB
63Elfogadva3ms1268 KiB
64Elfogadva3ms1076 KiB
65Elfogadva4ms1076 KiB
66Elfogadva6ms1260 KiB