Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.util.StringTokenizer;
- public class Range {
- static long cifri(long x) {
- long zbir =0;
- while (x>0) {
- zbir+= x%10;
- x/=10;
- }
- return zbir;
- }
- static long proveri(long N, long A, long B) {
- if (A == B)
- return -1;
- if (A * A + 200*A + cifri(A) == N)
- return A;
- if (B*B + 200*B + cifri(B) == N )
- return B;
- long mid = (A+B)/2;
- // System.out.println(A + " " + B + " " + mid);
- long temp = mid * mid + 200 * mid + cifri(mid);
- if (temp > N)
- return proveri(N,A,mid);
- else if (temp < N)
- return proveri(N,mid,B);
- else return mid;
- }
- public static void main(String[] args) throws Exception {
- int i,j,k;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- long N = Long.parseLong(br.readLine());
- StringTokenizer st = new StringTokenizer(br.readLine());
- long A = Long.parseLong(st.nextToken());
- long B = Long.parseLong(st.nextToken());
- long res = proveri(N, A, B);
- System.out.println(res);
- br.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement