Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. struct interval { int st,dr; } v[10002],u[10002];
  2.  
  3. int comp(interval a, interval b)
  4. {
  5. return a.st<b.st;
  6. }
  7.  
  8. #include <iostream>
  9. #include <fstream>
  10. #include <algorithm>
  11. using namespace std;
  12. ifstream f("bunicul.in");
  13. ofstream g("bunicul.out");
  14. int m,n,r,s,k,d,p,i,x;
  15.  
  16. int main()
  17. {
  18. f>>m>>n>>r;
  19. for(i=1;i<=n;i++)
  20. {
  21. f>>v[i].st>>v[i].dr;
  22. s+=v[i].dr-v[i].st+1;
  23. }
  24. s=m-s+1;
  25. g<<s<<'\n';
  26. sort(v+1,v+n+1,comp);
  27. v[0].dr=-1;
  28. v[n+1].st=m+1;
  29. i=1;
  30. for(k=1;k<=r;k++)
  31. {
  32. f>>x;
  33. d=v[i].st-v[i-1].dr-1;
  34. while(d<x&&i<=n) {
  35. i++;
  36. d=v[i].st-v[i-1].dr-1;
  37. }
  38. if(x<=d)
  39. {
  40. u[++p].st=v[i-1].dr+1;
  41. u[p].dr=u[p].st+x-1;
  42. v[i-1].dr+=x;
  43. }
  44. else break;
  45. }
  46. if(p<r) g<<p<<" "<<u[p].dr;
  47. else for(i=1;i<=r;i++)
  48. g<<u[i].st<<" "<<u[i].dr<<" ";
  49. g.close();
  50.  
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement