Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class primestreet {
  4.  
  5. static boolean isPrime(int x) {
  6. for (int i=2; i<=Math.sqrt(x); i++)
  7. if (x % i == 0)
  8. return false;
  9. return true;
  10. }
  11.  
  12. public static void main(String[] args) {
  13.  
  14. Scanner sc = new Scanner(System.in);
  15.  
  16. long n = sc.nextLong();
  17. int k = sc.nextInt();
  18. final int T = 100001;
  19.  
  20. long [] left = new long [T];
  21. long [] right = new long [T];
  22.  
  23. int li = 0;
  24. int ri = 0;
  25. int val = 2;
  26.  
  27. while (li < T || ri < T) {
  28. if (isPrime(val)) {
  29. if (li < T) {
  30. left[li] = val;
  31. li++;
  32. }
  33. } else if (ri < T) {
  34. right[ri] = val;
  35. ri++;
  36. }
  37. val++;
  38. }
  39.  
  40. long min = Long.MAX_VALUE;
  41. int index = 0;
  42.  
  43. for (int i=T-1; i>=0; i--) {
  44. if (i+1 < T) {
  45. left[i] += left[i+1];
  46. right[i] += right[i+1];
  47. }
  48.  
  49. if (i+k < T) {
  50.  
  51. long diff = Math.abs((left[i] - left[i+k] - n) - (right[i] - right[i+k]));
  52.  
  53. if (min >= diff) {
  54. min = diff;
  55. index = i+1;
  56. }
  57. }
  58. }
  59.  
  60. System.out.println(index);
  61.  
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement