1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int b; int z; // Liczba banknotow w portfelu
    int i = 0; int sum = 0; int small=1001;// i --> do petli. sum --> suma nominalow. small --> liczba nieparzysta > 1000
    z = scanf("%d", &b); // Wczytanie liczby banknotow.
    int nom[b]; // Nominaly banknotow w portfelu.
    while (i < b && scanf("%d", &nom[i++]) == 1) // Wczytywanie nominalow.
    /* puste */;
    i=0;
    if (b==1) // Jezeli w portfelu jest tylko jeden banknot
    {
        if (nom[0] % 2 ==0) // Jedyny banknot jest parzysty - wypisz jego nominal.
        {
            printf("%d", nom[0]);
            return 0;
        }
        else // Jezeli jedyny banknot jest nieparzysty to nie da sie dzieciom sprawiedliwie wyplacic kieszonkowego.
        {
            printf("NIESTETY");
            return 0;
        }
    }
    for (; i< b; i++) // Sumowanie nominalow.
    {
        sum += nom[i];    // Suma wszystkich nominalow w portfelu matki.
        if (nom[i] < small && nom[i]%2 ==1)      // Znajduje najmniejsza liczbe nieparzysta ktora nalezy wyrzucic, aby dalo sie
        {                                        // sprawiedliwie podzielic pieniadze. Small zaczyna jako pierwsza liczba 
            small = nom[i];                      // nieparzysta > 1000.
        }
    }
    if (sum% 2 ==0) // Jezeli suma wszystkich nominalow jest parzysta, wszystkie banknoty mozna oddac dzieciom.
    {
        printf("%d", sum);
        return 0;
    }
    else // Jezeli suma wszystkich nominalow jest nieparzysta, wyrzuc najmniejszy nieparzysty nominal.
    {
        printf("%d", sum-small); 
    }
}