Dev-san

Untitled

Oct 28th, 2014
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.36 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.StringTokenizer;
  4.  
  5. public class Range {
  6.    
  7.     static int s(long x)
  8.     {
  9.         int zbir = 0;
  10.         long br = x;
  11.         while (br > 0)
  12.         {
  13.             zbir += br % 10;
  14.             br /= 10;
  15.         }
  16.         return zbir;
  17.     }
  18.    
  19.     static long ravenka(long x)
  20.     {
  21.         return x*x + s(x) + 200*x;
  22.     }
  23.    
  24.     static long proveri(long n, long a, long b) {
  25.         //  x^2+s(x)+200*x=N
  26.         long rmax = ravenka(b);
  27.         if (rmax < b)
  28.             return -1;
  29.         else if (rmax == b)
  30.             return b;
  31.         if (ravenka(b/2) < n)
  32.         {
  33.             a = b/2;
  34.         }
  35.        
  36.         for (long x = a; x <= b; x++)
  37.         {
  38.             long rav = ravenka(x);
  39.             if (rav > n)
  40.             {
  41.                 return -1;
  42.             }  
  43.             if (rav == n)
  44.             {
  45.                 return (int)x;
  46.             }
  47.         }
  48.         return -1;
  49.     }
  50.    
  51.     public static void main(String[] args) throws Exception {
  52.         int i,j,k;
  53.        
  54.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  55.        
  56.         long N = Long.parseLong(br.readLine());
  57.        
  58.         StringTokenizer st = new StringTokenizer(br.readLine());
  59.         long A = Long.parseLong(st.nextToken());
  60.         long B = Long.parseLong(st.nextToken());
  61.        
  62.         long res = proveri(N, A, B);
  63.         System.out.println(res);
  64.        
  65.         br.close();
  66.        
  67.     }
  68.    
  69. }
Advertisement
Add Comment
Please, Sign In to add comment