fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int countValidIntervals (int n,vector<int> poisionus,vector<int> allergic)
  6. {
  7. vector<int> restriction (n+1,0);
  8. for(int i=0;i<allergic.size();i++)
  9. {
  10. int u= allergic[i];
  11. int v = poisionus[i];
  12. int minS = min (u,v);
  13. int maxS = max(u,v);
  14. restriction[maxS] = max(restriction[maxS],u);
  15. }
  16.  
  17. int ans =0;
  18. int left =1;
  19. for(int right =1;right<=n;right++)
  20. {
  21. left = max (left , restriction[right]+1);
  22. ans = ans + (right-left+1);
  23. }
  24. return ans;
  25. }
  26.  
  27. int main() {
  28. int n = 6;
  29.  
  30. vector<int> poisonous = {2,3};
  31. vector<int> allergic = {5,4};
  32.  
  33. cout << countValidIntervals(
  34. n,
  35. poisonous,
  36. allergic);
  37. // your code goes here
  38. return 0;
  39. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
7