Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define DIM 100007
  3. #define INF 10000000000007
  4. #define fi first
  5. #define se second
  6.  
  7. using namespace std;
  8.  
  9. typedef pair<long long, long long> pairll;
  10. typedef long long ll;
  11. typedef long double ld;
  12.  
  13. ll n,m,k,i,j,res,res1,sum,x,i1,a1,d,f,lasti,lasti1;
  14. ll a[DIM],b[DIM];
  15. pairll result[DIM];
  16. string s1,s;
  17. set<ll>::iterator it;
  18. set< ll > s11;
  19.  
  20. int main()
  21. {
  22.     cin >> n;
  23.     for(i=1; i<=n; i++){
  24.         cin >> a[i];
  25.         if(a[i]==1) k++;
  26.         sum+=a[i];
  27.     }
  28.     if(sum%2==1) {
  29.         cout << -1 << endl;
  30.         return 0;
  31.     }
  32.     sort(a+1,a+n+1);
  33.     for(i=1; i<=n; i++){
  34.         if(a[i]==a[i+1]) {
  35.             a[i]=0;
  36.             a[i+1]=0;
  37.             i++;
  38.         }
  39.         else if(a[i]%2==0){
  40.             d++;
  41.             result[d]={a[i],a[i]/2};
  42.             a[i]=0;
  43.         }
  44.         else {
  45.             x++;
  46.             b[x]=a[i];
  47.         }
  48.     }
  49.     for(i=2; i<=x; i+=2){
  50.         d++;
  51.         result[d]={b[i],b[i-1]};
  52.     }
  53.     cout << d << endl;
  54.     for(i=1; i<=d; i++){
  55.         cout << result[i].fi << " " << result[i].se << endl;
  56.     }
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement