string isSubset(int a1[], int a2[], int n, int m) {
if(m > n)
return "No";
sort(a1, a1 + n);
sort(a2, a2 + m);
int i = 0, j = 0;
while(j < m) {
if(a1[i] < a2[j])
i++;
else if(a1[i] == a2[j])
i++, j++;
else
return "No";
}
return "Yes";
}
Using set
string isSubset(int a1[], int a2[], int n, int m) {
set<int> s;
for(int i = 0; i < n; i++)
s.insert(a1[i]);
int uniqueInFirst = s.size();
for(int i = 0; i < m; i++)
s.insert(a2[i]);
return ((s.size() == uniqueInFirst) ? "Yes" : "No");
}