/* 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
{
{
// your code goes here
Scanner sc
= new Scanner
(System.
in); List
<Integer
> arr
= new ArrayList
<>(Arrays.
asList(1,
2,
3,
2,
4,
5)); List<List<Integer>> pairs = new ArrayList<>();
pairs.
add(new ArrayList
<>(Arrays.
asList(0,
1))); pairs.
add(new ArrayList
<>(Arrays.
asList(3,
4))); pairs.
add(new ArrayList
<>(Arrays.
asList(0,
0))); pairs.
add(new ArrayList
<>(Arrays.
asList(3,
4))); System.
out.
println(helper
(arr, pairs
));
}
static int helper(List<Integer> arr, List<List<Integer>> pairs){
int n = arr.size();
int m = pairs.size();
List<Integer> res = new ArrayList<>();
boolean [] mark = new boolean[n];
for(int i=0;i<m;i++){
int left = pairs.get(i).get(0);
int right = pairs.get(i).get(1);
for(int l = left;l<=right;l++){
mark[l] = true;
res.add(arr.get(l));
}
}
int sum = 0;
for(int i = 0;i<n;i++){
if(!mark[i]){
sum+= smallerCount(res,arr.get(i));
}
}
return sum;
}
static int smallerCount(List<Integer> res, int ele){
int low = 0;
int high = res.size();
while(low<high){
int mid = low +(high-low)/2;
if(ele > res.get(mid)){
low = mid+1;
} else {
high = mid;
}
}
return low;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQlMaXN0PEludGVnZXI+IGFyciA9IG5ldyBBcnJheUxpc3Q8PihBcnJheXMuYXNMaXN0KDEsMiwzLDIsNCw1KSk7CgkJTGlzdDxMaXN0PEludGVnZXI+PiBwYWlycyA9IG5ldyBBcnJheUxpc3Q8PigpOwoKCQlwYWlycy5hZGQobmV3IEFycmF5TGlzdDw+KEFycmF5cy5hc0xpc3QoMCwxKSkpOwoJCXBhaXJzLmFkZChuZXcgQXJyYXlMaXN0PD4oQXJyYXlzLmFzTGlzdCgzLDQpKSk7CgkJcGFpcnMuYWRkKG5ldyBBcnJheUxpc3Q8PihBcnJheXMuYXNMaXN0KDAsMCkpKTsKCQlwYWlycy5hZGQobmV3IEFycmF5TGlzdDw+KEFycmF5cy5hc0xpc3QoMyw0KSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihoZWxwZXIoYXJyLCBwYWlycykpOwoJCQoJfQoJc3RhdGljIGludCBoZWxwZXIoTGlzdDxJbnRlZ2VyPiBhcnIsIExpc3Q8TGlzdDxJbnRlZ2VyPj4gcGFpcnMpewoJCWludCBuID0gYXJyLnNpemUoKTsKCQlpbnQgbSA9IHBhaXJzLnNpemUoKTsKCQlMaXN0PEludGVnZXI+IHJlcyA9IG5ldyBBcnJheUxpc3Q8PigpOwoJCWJvb2xlYW4gW10gbWFyayA9IG5ldyBib29sZWFuW25dOwoJCQoJCWZvcihpbnQgaT0wO2k8bTtpKyspewoJCQlpbnQgbGVmdCA9IHBhaXJzLmdldChpKS5nZXQoMCk7CgkJCWludCByaWdodCA9IHBhaXJzLmdldChpKS5nZXQoMSk7CgkJCWZvcihpbnQgbCA9IGxlZnQ7bDw9cmlnaHQ7bCsrKXsKCQkJCW1hcmtbbF0gPSB0cnVlOwoJCQkJcmVzLmFkZChhcnIuZ2V0KGwpKTsKCQkJfQoJCX0KCQlpbnQgc3VtID0gMDsKCQlDb2xsZWN0aW9ucy5zb3J0KHJlcyk7CgkJZm9yKGludCBpID0gMDtpPG47aSsrKXsKCQkJaWYoIW1hcmtbaV0pewoJCQkJc3VtKz0gc21hbGxlckNvdW50KHJlcyxhcnIuZ2V0KGkpKTsKCQkJfQoJCX0KCQlyZXR1cm4gc3VtOwoJfQoJc3RhdGljIGludCBzbWFsbGVyQ291bnQoTGlzdDxJbnRlZ2VyPiByZXMsIGludCBlbGUpewoJCWludCBsb3cgPSAwOwoJCWludCBoaWdoID0gcmVzLnNpemUoKTsKCQl3aGlsZShsb3c8aGlnaCl7CgkJCWludCBtaWQgPSBsb3cgKyhoaWdoLWxvdykvMjsKCQkJaWYoZWxlID4gcmVzLmdldChtaWQpKXsKCQkJCWxvdyA9IG1pZCsxOwoJCQl9IGVsc2UgewoJCQkJaGlnaCA9IG1pZDsKCQkJfQoJCX0KCQlyZXR1cm4gbG93OwoJfQoJCQp9