Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long
- #define ull unsigned long long
- #define nl cout<<"\n";
- #define sp cout<<" ";
- #define sz(x) x.size()
- #define NumOfDigit(w) log10(w) + 1
- #define fill(arr, val) memset(arr, val , sizeof(arr))
- #define PI 3.141592654
- #define ceil(w, m) (((w) / (m)) + ((w) % (m) ? 1 : 0))
- #define all(v) v.begin(), v.end()
- #define rall(v) v.rbegin(), v.rend()
- #define fi first
- #define se second
- #define cin(v) for (auto&i:v) cin >> i;
- #define cout(v) for (auto&i:v) cout << i << " ";
- #define fixed(n) fixed << setprecision(n)
- #define MOD 1000000007
- using namespace std;
- void zainab_hamdy(){
- ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
- //freopen("filename.in" , "r" ,stdin);
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
- #endif
- }
- /*#include <ext/pb_ds/assoc_container.hpp
- #include <ext/pb_ds/tree_policy.hpp>
- using namespace __gnu_pbds;
- template <typename K, typename V, typename Comp = std::less<K>>
- using ordered_map = tree<K, V, Comp, rb_tree_tag, tree_order_statistics_node_update>;
- template <typename K, typename Comp = std::less<K>>
- using ordered_set = ordered_map<K, null_type, Comp>;
- template <typename K, typename V, typename Comp = std::greater_equal<K>>
- using ordered_multimap = tree<K, V, Comp, rb_tree_tag, tree_order_statistics_node_update>;
- template <typename K, typename Comp = std::greater_equal<K>>
- using ordered_multiset = ordered_multimap<K, null_type, Comp>;
- */
- bool prime(ll n){
- if(n==2 || n==3) return true;
- if(n<2 || n%2==0 ) return false;
- for(int i=3;i<=sqrt(n);i+=2) if(n%i==0) return false;
- return true;
- }
- void isAccepted(){
- int n ; cin >> n ;
- ll odd=0, even=0 , x ;
- for(int i=0; i<n ;i++){
- cin >> x ;
- if(x&1) odd++ ;
- else even ++;
- }
- if (even&1 and odd&1 )
- cout << -1 ;
- else if(even==0 or odd==0)
- cout << 0;
- else if( !even&1 and !odd&1)
- cout << min(even/2 , odd/2);
- else if (even&1==0)
- cout<< even/2 ;
- else
- cout << odd/2 ;
- nl
- }
- int main(){
- // zainab_hamdy();
- int testCase=1; // one test case
- cin >> testCase ;
- while(testCase--)
- isAccepted(); // my code
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement