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 zbirCifri(long x) {
- long zbir=0;
- while(x!=0) {
- zbir+=x%10;
- x/=10;
- }
- return zbir;
- }
- static long proveri(long N, long A, long B) {
- // Vasiot kod tuka
- if(A==B) return -1;
- //System.out.println(A);
- //System.out.println(B);
- if(A*A + zbirCifri(A) + 200*A == N) {
- return A;
- }
- if(B*B + zbirCifri(B) + 200*B == N) {
- return B;
- }
- long mid=(B+A)/2;
- long shouldBe=mid*mid + zbirCifri(mid) + mid*200;
- if(shouldBe==N) return mid;
- if(N<shouldBe) {
- return proveri(N,A,mid);
- } else return proveri(N,mid,B);
- }
- 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