Submission #1689789


Source Code Expand

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	BigInteger[][] base = new BigInteger[2][2];
	static Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		int n = sc.nextInt();
		helper(n);
	}

	private static void helper(int n) {
		// TODO Auto-generated method stub
		for (int i = 1; i <= 3500; i++) {
			for (int j = 1; j <= 3500; j++) {

				long up = 4*(long)i * (long)j -(long) j * (long)n - (long)i * (long)n;
				long down = (long)i * (long)j * (long)n;
				if(i==3498&&j==3498){
					System.out.println(up);
					System.out.println(down);
					System.out.println(down/up);
				}
				if (up>0&&down % up==0) {
					System.out.println("" + i + " " + j + " " + down/up);
					return;
				}

			}
		}
	}

	private BigInteger[][] matrixMult(BigInteger[][] leftmatrix, BigInteger[][] rightMatrix) {
		// TODO Auto-generated method stub
		BigInteger[][] res = new BigInteger[2][2];
		res[0][0] = leftmatrix[0][0].multiply(rightMatrix[0][0]).add(leftmatrix[0][1].multiply(rightMatrix[1][0]));
		res[0][1] = leftmatrix[0][0].multiply(rightMatrix[0][1]).add(leftmatrix[0][1].multiply(rightMatrix[1][1]));
		res[1][0] = leftmatrix[1][0].multiply(rightMatrix[0][0]).add(leftmatrix[1][1].multiply(rightMatrix[1][0]));
		res[1][1] = leftmatrix[1][0].multiply(rightMatrix[0][1]).add(leftmatrix[1][1].multiply(rightMatrix[1][1]));
		return res;
	}

	public BigInteger[][] fib(int n) {
		if ((n) <= 1)
			return base;
		BigInteger[][] res = ((n) % 2 == 1 ? fib((n - 1) / 2) : fib(n / 2));
		res = matrixMult(res, res);
		if ((n) % 2 == 1)
			res = matrixMult(res, base);
		return res;
	}

}

Submission Info

Submission Time
Task C - 4/N
User zcg496203111
Language Java8 (OpenJDK 1.8.0)
Score 300
Code Size 1693 Byte
Status AC
Exec Time 112 ms
Memory 23124 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 50
Set Name Test Cases
Sample 0002, 3485, 4664
All 0002, 0003, 0004, 0005, 0006, 0007, 0049, 0073, 0097, 0121, 0137, 0139, 0156, 0163, 0169, 0181, 0191, 0223, 0229, 0263, 0271, 0289, 0361, 0481, 0529, 0551, 0649, 0720, 0916, 1081, 1156, 1498, 1921, 2041, 2329, 2449, 2568, 2918, 2929, 3289, 3429, 3485, 3763, 4081, 4277, 4648, 4652, 4656, 4660, 4664
Case Name Status Exec Time Memory
0002 AC 93 ms 19924 KB
0003 AC 90 ms 19924 KB
0004 AC 91 ms 21716 KB
0005 AC 91 ms 19412 KB
0006 AC 92 ms 21204 KB
0007 AC 93 ms 19156 KB
0049 AC 93 ms 19668 KB
0073 AC 98 ms 18772 KB
0097 AC 96 ms 19024 KB
0121 AC 95 ms 21588 KB
0137 AC 96 ms 20820 KB
0139 AC 95 ms 23124 KB
0156 AC 98 ms 17620 KB
0163 AC 102 ms 17100 KB
0169 AC 97 ms 19924 KB
0181 AC 97 ms 21844 KB
0191 AC 104 ms 18900 KB
0223 AC 98 ms 19540 KB
0229 AC 97 ms 18768 KB
0263 AC 100 ms 19924 KB
0271 AC 98 ms 16980 KB
0289 AC 97 ms 18388 KB
0361 AC 99 ms 21844 KB
0481 AC 98 ms 18772 KB
0529 AC 99 ms 19796 KB
0551 AC 102 ms 21716 KB
0649 AC 105 ms 19284 KB
0720 AC 99 ms 20564 KB
0916 AC 98 ms 18764 KB
1081 AC 100 ms 19156 KB
1156 AC 98 ms 19924 KB
1498 AC 105 ms 21844 KB
1921 AC 100 ms 19156 KB
2041 AC 100 ms 21716 KB
2329 AC 101 ms 19924 KB
2449 AC 101 ms 19924 KB
2568 AC 102 ms 19924 KB
2918 AC 112 ms 21972 KB
2929 AC 102 ms 18772 KB
3289 AC 109 ms 19284 KB
3429 AC 103 ms 21716 KB
3485 AC 111 ms 20820 KB
3763 AC 103 ms 19156 KB
4081 AC 105 ms 19028 KB
4277 AC 105 ms 19796 KB
4648 AC 105 ms 21588 KB
4652 AC 106 ms 18772 KB
4656 AC 107 ms 19024 KB
4660 AC 105 ms 18644 KB
4664 AC 106 ms 19924 KB