Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define DIM 100007
- #define INF 10000000000007
- #define fi first
- #define se second
- using namespace std;
- typedef pair<long long, long long> pairll;
- typedef long long ll;
- typedef long double ld;
- ll n,m,k,i,j,res,res1,sum,x,i1,a1,d,f,lasti,lasti1;
- ll a[DIM],b[DIM];
- pairll result[DIM];
- string s1,s;
- set<ll>::iterator it;
- set< ll > s11;
- int main()
- {
- cin >> n;
- for(i=1; i<=n; i++){
- cin >> a[i];
- if(a[i]==1) k++;
- sum+=a[i];
- }
- if(sum%2==1) {
- cout << -1 << endl;
- return 0;
- }
- sort(a+1,a+n+1);
- for(i=1; i<=n; i++){
- if(a[i]==a[i+1]) {
- a[i]=0;
- a[i+1]=0;
- i++;
- }
- else if(a[i]%2==0){
- d++;
- result[d]={a[i],a[i]/2};
- a[i]=0;
- }
- else {
- x++;
- b[x]=a[i];
- }
- }
- for(i=2; i<=x; i+=2){
- d++;
- result[d]={b[i],b[i-1]};
- }
- cout << d << endl;
- for(i=1; i<=d; i++){
- cout << result[i].fi << " " << result[i].se << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement