Advertisement
a53

placa

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