Advertisement
a53

Bunicul

a53
Sep 13th, 2017
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <fstream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. ifstream f("bunicul.in");
  7. ofstream g("bunicul.out");
  8.  
  9. int n, v[20001],i,m,r,j,s,u[20001];
  10.  
  11. int main()
  12. {
  13. f>>m>>n>>r;
  14. s=0;
  15. for(i=0;i<n;i++)
  16. {
  17. f>>v[2*i]>>v[2*i+1];
  18. s+=v[2*i+1]-v[2*i]+1;
  19. }
  20. s=m-s+1;
  21. g<<s<<'\n';
  22. sort(v,v+2*n);
  23. int p=-1;
  24. i=0;
  25. while(p+1-v[i]==0)
  26. {
  27. i+=2;
  28. p=v[i-1];
  29. }
  30. int x;
  31. j=0; f>>x;
  32. while(p<=m&&i<2*n&&j<r)
  33. {
  34. if(x<v[i]-p)
  35. {
  36. u[2*j]=p+1;
  37. u[2*j+1]=p+x;
  38. p+=x;
  39. f>>x;j++;
  40. }
  41. else
  42. {
  43. i+=2;
  44. p=v[i-1];
  45. }
  46. }
  47. int ok=1;
  48. while(p<=m&&j<r&&ok)
  49. {
  50. if(x<=m-p)
  51. {
  52. u[2*j]=p+1;
  53. u[2*j+1]=p+x;
  54. p+=x;
  55. f>>x;j++;
  56. }
  57. else ok=0;
  58. }
  59. if(j<r)
  60. {
  61. g<<j<<" "<<u[(j-1)*2+1];
  62. }
  63. else
  64. for(i=0;i<r;i++)
  65. {
  66. g<<u[2*i]<<" "<<u[2*i+1]<<" ";
  67. }
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement