Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. //
  2. // main.c
  3. // boss
  4. //
  5. // Created by vasily ukhanov on 22.04.17.
  6. // Copyright © 2017 vasily ukhanov. All rights reserved.
  7. //
  8.  
  9. #include <stdio.h>
  10.  
  11.  
  12.  
  13. int scr[200000];
  14.  
  15. void job(int dif, int y, int l, int r, int n)
  16. {
  17. while ((r - l) > 1)
  18. {
  19. int mid = (r + l) / 2;
  20. int rez = 0;
  21. for (int i = 0; i < n; i++){
  22. int z = (scr[i] - y * mid + dif - 1) / dif;
  23. if (z > 0)
  24. {
  25. rez += z;
  26. }
  27. else
  28. {
  29. rez += 0;
  30. }
  31. }
  32. if (rez > mid)
  33. {
  34. l = mid;
  35. }
  36. else
  37. {
  38. r = mid;
  39. }
  40. }
  41. printf("%d\n", r);
  42. }
  43.  
  44.  
  45. int main()
  46. {
  47. int n, x, y;
  48. scanf("%d %d %d", &n, &x, &y);
  49. int i = 0;
  50. while(i < n)
  51. {
  52. scanf("%d",&scr[i++]);
  53. }
  54. //scanf(string, &scr);
  55. if (x == y)
  56. {
  57. int maximum = scr[0];
  58. for (int c = 1; c < n; c++){
  59. if (scr[c] > maximum) {
  60. maximum = scr[c];
  61. }
  62. }
  63. printf("%i\n", (maximum + x - 1) / x);
  64. }
  65. else
  66. {
  67. job(x - y, y, 0, 100000000, n);
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement