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 int s(long x)
- {
- int zbir = 0;
- long br = x;
- while (br > 0)
- {
- zbir += br % 10;
- br /= 10;
- }
- return zbir;
- }
- static long ravenka(long x)
- {
- return x*x + s(x) + 200*x;
- }
- static long proveri(long n, long a, long b) {
- // x^2+s(x)+200*x=N
- long rmax = ravenka(b);
- if (rmax < b)
- return -1;
- else if (rmax == b)
- return b;
- if (ravenka(b/2) < n)
- {
- a = b/2;
- }
- for (long x = a; x <= b; x++)
- {
- long rav = ravenka(x);
- if (rav > n)
- {
- return -1;
- }
- if (rav == n)
- {
- return (int)x;
- }
- }
- return -1;
- }
- 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