Advertisement
a53

Descompunere in Intervale

a53
Aug 15th, 2017
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #include <fstream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. vector <pair<int,int>>ans;
  6.  
  7. void rezolva(int st,int dr,int a,int b)
  8. {
  9. if(a<=st&&dr<=b)
  10. {
  11. ans.push_back({st,dr});
  12. return;
  13. }
  14. int mij=(st+dr)>>1;
  15. if(a<=mij)
  16. rezolva(st,mij,a,b);
  17. if(mij<b)
  18. rezolva(mij+1,dr,a,b);
  19. }
  20.  
  21. int main()
  22. {
  23. ifstream f("di.in");
  24. ofstream g("di.out");
  25. int n,m;
  26. f>>n>>m;
  27. while(m--)
  28. {
  29. ans.clear();
  30. int x,y;
  31. f>>x>>y;
  32. rezolva(1,n,x,y);
  33. g<<ans.size()<<' ';
  34. sort(ans.begin(),ans.end());
  35. g<<ans[0].first<<' ';
  36. for(auto x:ans)
  37. g<<x.second<<' ';
  38. g<<'\n';
  39. }
  40. return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement