#include <iostream>
using namespace std;
void quicksort(int tab[], int left, int right){
int i=left;
int j=right;
int x=tab[(left+right)>>1];
do{
while(tab[i]<x) i++;
while(tab[j]>x) j--;
if(i<=j){
int temp=tab[i];
tab[i]=tab[j];
tab[j]=temp;
i++;
j--;
}
}while(i<=j);
if(left<j) quicksort(tab,left,j);
if(right>i) quicksort(tab,i,right);
}
int main()
{
int n;
cin >> n;
int tab[n];
int suma = 0;
for(int i = 0; i < n; i++)
{
cin >> tab[i];
suma += tab[i];
}
quicksort(tab, 0, n-1);
int a = 0;
if(suma % 2 == 0)
cout << suma;
else
{
while(a < n)
{
for(int i = a; i < n; i++)
{
if((suma - tab[i]) % 2 == 0 && (suma - tab[i]) != 0)
{
cout << suma - tab[i];
return 0;
}
}
suma -= tab[a];
a++;
}
cout << "NIESTETY";
}
return 0;
}
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 55 56 57 58 59 60 61 | #include <iostream> using namespace std; void quicksort(int tab[], int left, int right){ int i=left; int j=right; int x=tab[(left+right)>>1]; do{ while(tab[i]<x) i++; while(tab[j]>x) j--; if(i<=j){ int temp=tab[i]; tab[i]=tab[j]; tab[j]=temp; i++; j--; } }while(i<=j); if(left<j) quicksort(tab,left,j); if(right>i) quicksort(tab,i,right); } int main() { int n; cin >> n; int tab[n]; int suma = 0; for(int i = 0; i < n; i++) { cin >> tab[i]; suma += tab[i]; } quicksort(tab, 0, n-1); int a = 0; if(suma % 2 == 0) cout << suma; else { while(a < n) { for(int i = a; i < n; i++) { if((suma - tab[i]) % 2 == 0 && (suma - tab[i]) != 0) { cout << suma - tab[i]; return 0; } } suma -= tab[a]; a++; } cout << "NIESTETY"; } return 0; } |
English