163852025-04-29 10:38:22BucsMateÖsszegzésekcpp17Wrong answer 28/10028ms1856 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];
    }
    kovetkezo(N, sum);
    elozo(N, sum);

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted2ms1076 KiB
2Accepted2ms1076 KiB
3Accepted3ms1076 KiB
subtask20/6
4Wrong answer25ms1672 KiB
5Partially correct2ms1076 KiB
6Partially correct24ms1588 KiB
7Partially correct23ms1572 KiB
8Partially correct24ms1504 KiB
subtask33/6
9Partially correct25ms1588 KiB
10Partially correct25ms1588 KiB
11Partially correct25ms1696 KiB
12Partially correct28ms1840 KiB
13Partially correct27ms1856 KiB
subtask45/10
14Partially correct25ms1588 KiB
15Partially correct25ms1588 KiB
16Partially correct25ms1696 KiB
17Partially correct28ms1840 KiB
18Partially correct27ms1856 KiB
19Accepted2ms1076 KiB
20Accepted3ms1080 KiB
21Accepted16ms1336 KiB
22Accepted18ms1332 KiB
23Accepted16ms1384 KiB
subtask510/10
24Accepted2ms1260 KiB
25Accepted2ms1076 KiB
26Accepted2ms1260 KiB
27Accepted2ms1076 KiB
28Accepted2ms1312 KiB
subtask610/10
29Accepted1ms1076 KiB
30Accepted2ms1084 KiB
31Accepted2ms1076 KiB
32Accepted2ms1180 KiB
33Accepted1ms1076 KiB
subtask70/58
34Accepted1ms1076 KiB
35Accepted2ms1076 KiB
36Accepted2ms1168 KiB
37Wrong answer25ms1672 KiB
38Partially correct2ms1076 KiB
39Partially correct24ms1588 KiB
40Partially correct23ms1572 KiB
41Partially correct24ms1504 KiB
42Partially correct25ms1588 KiB
43Partially correct25ms1588 KiB
44Partially correct25ms1696 KiB
45Partially correct28ms1840 KiB
46Partially correct27ms1856 KiB
47Accepted2ms1076 KiB
48Accepted3ms1080 KiB
49Accepted16ms1336 KiB
50Accepted18ms1332 KiB
51Accepted2ms1312 KiB
52Accepted1ms1076 KiB
53Accepted2ms1084 KiB
54Accepted2ms1076 KiB
55Accepted2ms1180 KiB
56Accepted1ms1076 KiB
57Accepted2ms1076 KiB
58Accepted2ms1076 KiB
59Accepted1ms1076 KiB
60Accepted1ms1076 KiB
61Accepted2ms1192 KiB
62Accepted2ms1076 KiB
63Accepted3ms1100 KiB
64Accepted3ms964 KiB
65Accepted4ms1232 KiB
66Accepted6ms1076 KiB