-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathA.cpp
128 lines (82 loc) · 1.99 KB
/
A.cpp
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*****
* __Bismillahir Rahmanir Rahim__
* American International University Bangladesh (AIUB)
* Hadiur Rahman Nabil
*****/
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
typedef long long ll;
typedef long double ld;
//Palindrome--
// for(int i=s.size()-1;i>=0;--i){s_rev.push_back(s[i]);} if(s==s_rev)
//Anagram--
//sort(a.begin(), a.end());sort(b.begin(), b.end());if(a==b)
//Find_Last + Delete_Last--
//num%10 + num/10
//Fibonacci--
//for(int i=1;i<=N-2;i++){ num3=num1(1)+num2(2);num1=num2;num2=num3(Fibonacci);
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
ll t;
cin>>t;
while(t--)
{
ll n,sumA=0,sumB=0,temp,count=0;
cin>>n;
ll a[n],b[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
sumA=sumA+a[i];
}
for(int i=0;i<n;i++)
{
cin>>b[i];
sumB=sumB+b[i];
}
if(sumA!=sumB)
{
cout<<-1<<"\n";
}
else{
vector<ll>j,k;
for(int i=0;i<n;i++)
{
if (a[i]==b[i])
{
count;
}
else if(a[i]<b[i])
{
temp= b[i]-a[i];
while(temp--)
{
j.push_back(i);
}
}
else
{
temp= a[i]-b[i];
while(temp--)
{
k.push_back(i);
}
}
}
if(j.size()==0 && k.size()==0)
{
cout<<0<<"\n";
}
else{
cout<<j.size()<<"\n";
for(int i=0;i<j.size();i++)
{
cout<<k[i]+1<< " " << j[i]+1<<"\n";
}
}
}
}
}