#include <iostream>
int dziel(int x, int y[], int z);
int main(int argc, char** argv) {
int rozmiar,wynik;
std::cin >> rozmiar;
int *y = new int[rozmiar];
for (int i=0;i<rozmiar;i++)
std::cin >> y[i];
wynik=dziel(rozmiar,y,-1);
if (wynik!= -1)
std:: cout << wynik << std::endl;
else
std:: cout << "NIESTETY\n";
delete []y;
return 0;
}
int dziel(int x, int y[],int z)
{
int suma=0;
int n=-1,a,b,c;
if (z>=0)
{
a=y[z];
b=y[x-1];
y[z]=b;
y[x-1]=a;
}
for (int i=0;i<x;i++)
suma=suma+y[i];
if (suma%2 && x>1)
{
for (int i=0;i<x;i++)
{
c=dziel(x-1,y,i);
if (n<c)
n=c;
}
suma=n;
}
else if (suma%2==0)
return suma;
if (x<=1)
return -1;
}
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 44 45 46 47 48 49 50 51 52 53 54 | #include <iostream> int dziel(int x, int y[], int z); int main(int argc, char** argv) { int rozmiar,wynik; std::cin >> rozmiar; int *y = new int[rozmiar]; for (int i=0;i<rozmiar;i++) std::cin >> y[i]; wynik=dziel(rozmiar,y,-1); if (wynik!= -1) std:: cout << wynik << std::endl; else std:: cout << "NIESTETY\n"; delete []y; return 0; } int dziel(int x, int y[],int z) { int suma=0; int n=-1,a,b,c; if (z>=0) { a=y[z]; b=y[x-1]; y[z]=b; y[x-1]=a; } for (int i=0;i<x;i++) suma=suma+y[i]; if (suma%2 && x>1) { for (int i=0;i<x;i++) { c=dziel(x-1,y,i); if (n<c) n=c; } suma=n; } else if (suma%2==0) return suma; if (x<=1) return -1; } |
English