#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int countValidIntervals (int n,vector<int> poisionus,vector<int> allergic)
{
vector<int> restriction (n+1,0);
for(int i=0;i<allergic.size();i++)
{
int u= allergic[i];
int v = poisionus[i];
int minS = min (u,v);
int maxS = max(u,v);
restriction[maxS] = max(restriction[maxS],u);
}
int ans =0;
int left =1;
for(int right =1;right<=n;right++)
{
left = max (left , restriction[right]+1);
ans = ans + (right-left+1);
}
return ans;
}
int main() {
int n = 6;
vector<int> poisonous = {2,3};
vector<int> allergic = {5,4};
cout << countValidIntervals(
n,
poisonous,
allergic);
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBjb3VudFZhbGlkSW50ZXJ2YWxzIChpbnQgbix2ZWN0b3I8aW50PiBwb2lzaW9udXMsdmVjdG9yPGludD4gYWxsZXJnaWMpCnsKCXZlY3RvcjxpbnQ+IHJlc3RyaWN0aW9uIChuKzEsMCk7Cglmb3IoaW50IGk9MDtpPGFsbGVyZ2ljLnNpemUoKTtpKyspCgl7CgkJaW50IHU9IGFsbGVyZ2ljW2ldOwoJCWludCB2ID0gcG9pc2lvbnVzW2ldOwoJCWludCBtaW5TID0gbWluICh1LHYpOwoJCWludCBtYXhTID0gbWF4KHUsdik7CgkJcmVzdHJpY3Rpb25bbWF4U10gPSBtYXgocmVzdHJpY3Rpb25bbWF4U10sdSk7Cgl9CgkKCWludCBhbnMgPTA7CglpbnQgbGVmdCA9MTsKCWZvcihpbnQgcmlnaHQgPTE7cmlnaHQ8PW47cmlnaHQrKykKCXsKCQlsZWZ0ID0gbWF4IChsZWZ0ICwJcmVzdHJpY3Rpb25bcmlnaHRdKzEpOwoJCWFucyA9IGFucyArIChyaWdodC1sZWZ0KzEpOwoJfQoJcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKSB7CglpbnQgbiA9IDY7CgogICAgdmVjdG9yPGludD4gcG9pc29ub3VzID0gezIsM307CiAgICB2ZWN0b3I8aW50PiBhbGxlcmdpYyAgPSB7NSw0fTsKCiAgICBjb3V0IDw8IGNvdW50VmFsaWRJbnRlcnZhbHMoCiAgICAgICAgICAgICAgICBuLAogICAgICAgICAgICAgICAgcG9pc29ub3VzLAogICAgICAgICAgICAgICAgYWxsZXJnaWMpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=