/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int [] diff(int [] ar1, int [] ar2)
{
int n1=ar1.length,n2=ar2.length;
int [] res;
int i,k,a,b,c;
int min=ar2[0],max=ar2[n2-1];
boolean flg;
int [] tmp=new int [n1];
k=0;
for (i=0; i<n1; i++)
{
if ((ar1[i] < min) || (ar1[i] > max))
{
tmp[k++]=ar1[i];
}
else
{
a=0;
b=n2-1;
if (ar2[a]==ar1[i] || ar2[b]==ar1[i])
flg=true;
else
{
flg=false;
while(b-a>1)
{
c=(a+b)/2;
if (ar2[c]==ar1[i])
{
flg=true;
break;
}
if (ar2[c] > ar1[i])
{
b=c;
}
else
{
a=c;
}
}
}
if (! flg) tmp[k++]=ar1[i];
}
}
res=new int[k];
for (i=0; i<k; i++)
{
res[i]=tmp[i];
}
return res;
}
{
int [] ar1={1,2,3,4,5,6,7,10,15};
int [] ar2={1,7,8,9,10,11,};
int [] r=diff(ar1,ar2);
for(int i
=0; i
<r.
length; i
++) System.
out.
print(r
[i
]+" "); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgaW50IFtdIGRpZmYoaW50IFtdIGFyMSwgaW50IFtdIGFyMikKCXsKCQlpbnQgbjE9YXIxLmxlbmd0aCxuMj1hcjIubGVuZ3RoOwoJCWludCBbXSByZXM7CgkJaW50IGksayxhLGIsYzsKCQlpbnQgbWluPWFyMlswXSxtYXg9YXIyW24yLTFdOwoJCWJvb2xlYW4gZmxnOwoJCQoJCWludCBbXSB0bXA9bmV3IGludCBbbjFdOwoJCQoJCWs9MDsKCQlmb3IgKGk9MDsgaTxuMTsgaSsrKQoJCXsKCQkJaWYgKChhcjFbaV0gPCBtaW4pIHx8IChhcjFbaV0gPiBtYXgpKQoJCQl7CgkJCSAgIHRtcFtrKytdPWFyMVtpXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCWE9MDsgCgkJCQliPW4yLTE7CgkJCQlpZiAoYXIyW2FdPT1hcjFbaV0gfHwgYXIyW2JdPT1hcjFbaV0pIAoJCQkJICAgZmxnPXRydWU7CgkJCQllbHNlCgkJCQl7CgkJCQkgIGZsZz1mYWxzZTsKCQkJCSAgd2hpbGUoYi1hPjEpCgkJCQkgIHsKCQkJCQljPShhK2IpLzI7CgkJCQkJaWYgKGFyMltjXT09YXIxW2ldKSAKCQkJCQl7CgkJCQkJCWZsZz10cnVlOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQkJaWYgKGFyMltjXSA+IGFyMVtpXSkKCQkJCQl7CgkJCQkJCWI9YzsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJYT1jOwoJCQkJCX0KCQkJCSAgfQoJCQkJfSAgCgkJCQlpZiAoISBmbGcpIHRtcFtrKytdPWFyMVtpXTsKCQkJfQoJCX0KCQkKCQlyZXM9bmV3IGludFtrXTsKCQkKCQlmb3IgKGk9MDsgaTxrOyBpKyspCgkJewoJCQlyZXNbaV09dG1wW2ldOwoJCX0KCQlyZXR1cm4gcmVzOwoJfQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJaW50IFtdIGFyMT17MSwyLDMsNCw1LDYsNywxMCwxNX07CgkJaW50IFtdIGFyMj17MSw3LDgsOSwxMCwxMSx9OwoJCWludCBbXSByPWRpZmYoYXIxLGFyMik7CgkJZm9yKGludCBpPTA7IGk8ci5sZW5ndGg7IGkrKykgU3lzdGVtLm91dC5wcmludChyW2ldKyIgIik7Cgl9Cn0K