Advertisement
JStefan

APS_Vezbi_Opseg

Nov 2nd, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.97 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.StringTokenizer;
  4.  
  5.  
  6. public class Range {
  7.  
  8.     static long proveri(long N, long A, long B) {
  9.         // Vasiot kod tuka
  10.  
  11.         for (long i = (A+B)/2; A <= B; i = (A+B)/2) {
  12.             long result = (i*i) + s(i) + 200 * i;
  13.             if(result == N) return i;
  14.             else if(result > N) {
  15.                 B = i - 1;
  16.             } else {
  17.                 A = i + 1;
  18.             }
  19.         }
  20.  
  21.         return -1;
  22.     }
  23.  
  24.     static int s(long x) {
  25.         int sum = 0;
  26.         while (x > 0) {
  27.             sum += x%10;
  28.             x /= 10;
  29.         }
  30.         return sum;
  31.     }
  32.  
  33.     public static void main(String[] args) throws Exception {
  34.         int i,j,k;
  35.  
  36.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  37.  
  38.         long N = Long.parseLong(br.readLine());
  39.  
  40.         StringTokenizer st = new StringTokenizer(br.readLine());
  41.         long A = Long.parseLong(st.nextToken());
  42.         long B = Long.parseLong(st.nextToken());
  43.  
  44.         long res = proveri(N, A, B);
  45.         System.out.println(res);
  46.  
  47.         br.close();
  48.  
  49.     }
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement