Advertisement
Alex7342

Untitled

Apr 25th, 2019
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4.  
  5. ifstream f("ghiozdan.in");
  6. ofstream g("ghiozdan.out");
  7.  
  8. int d,k,t,i,j;
  9. int st,dr,mij,rez;
  10. int mag[100001];
  11.  
  12. int main()
  13. {
  14. f>>d>>k>>t;
  15. for (i=1;i<=k;i++)
  16. f>>mag[i];
  17. st=1,dr=d;
  18. while (st<=dr)
  19. {
  20. mij=(st+dr)/2;
  21. int paini=mij, nemancat=t;
  22. for (i=1;i<=k;i++)
  23. {
  24. int dist=mag[i]-mag[i-1];
  25. if (paini>=dist)
  26. paini-=dist;
  27. else
  28. {
  29. nemancat-=(dist-paini);
  30. paini=0;
  31. }
  32. paini=mij;
  33. if (nemancat<0)
  34. break;
  35. }
  36. if (nemancat>=0)
  37. {
  38. int dist=d-mag[k];
  39. if (paini>=dist)
  40. paini-=dist;
  41. else
  42. {
  43. nemancat-=(dist-paini);
  44. paini=0;
  45. }
  46. paini=mij;
  47. }
  48.  
  49. if (nemancat>=0)
  50. {
  51. rez=mij;
  52. dr=mij-1;
  53. }
  54. else
  55. st=mij+1;
  56. }
  57. g<<rez;
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement