Submission #22649

# Submission time Handle Problem Language Result Execution time Memory
22649 2017-04-30T06:07:19 Z 응 내인생 터졌어~(#957, sosfd) Fully Generate (KRIII5_FG) C++
2 / 7
500 ms 313616 KB
#include <stdio.h>

unsigned long long dp[40000000];

long long go(int i)
{
	if (dp[i] !=0) return dp[i];


	return dp[i] =  1 + go(i - go(go(i - 1)));
}


unsigned long long po(unsigned int a, unsigned int b)
{
	if (b == 0)
		return 1;
	else if (b == 1)
		return a;

	unsigned long long ret = po(a, b/2) % 1000000007;

	ret = ret*ret;
	ret %= 1000000007;

	if (b % 2)
		return (ret* a)%1000000007;
	else
		return ret;

}

int main()
{
	dp[1] = 1;
	
	unsigned long long sum = 0,n,ans =1;
	scanf("%llu", &n);

	
	for (int i = 1; i < 40000000; i++)
	{
		sum += go(i);

		if (sum >= n)
		{
			sum -= go(i);
			
			ans *= po(i, n - sum);
			ans %= 1000000007;

			break;
		}

		ans *= po(i, go(i));
		ans %= 1000000007;
	} 

	printf("%llu", ans);
	return 0;
}

Compilation message

FG.cpp: In function 'int main()':
FG.cpp:38:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%llu", &n);
                   ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 313616 KB Output is correct
2 Correct 0 ms 313616 KB Output is correct
3 Correct 0 ms 313616 KB Output is correct
4 Correct 0 ms 313616 KB Output is correct
5 Correct 0 ms 313616 KB Output is correct
6 Correct 0 ms 313616 KB Output is correct
7 Correct 0 ms 313616 KB Output is correct
8 Correct 0 ms 313616 KB Output is correct
9 Correct 0 ms 313616 KB Output is correct
10 Correct 0 ms 313616 KB Output is correct
11 Correct 0 ms 313616 KB Output is correct
12 Correct 0 ms 313616 KB Output is correct
13 Correct 0 ms 313616 KB Output is correct
14 Correct 0 ms 313616 KB Output is correct
15 Correct 0 ms 313616 KB Output is correct
16 Correct 0 ms 313616 KB Output is correct
17 Correct 0 ms 313616 KB Output is correct
18 Correct 0 ms 313616 KB Output is correct
19 Correct 0 ms 313616 KB Output is correct
20 Correct 0 ms 313616 KB Output is correct
21 Correct 0 ms 313616 KB Output is correct
22 Correct 0 ms 313616 KB Output is correct
23 Correct 0 ms 313616 KB Output is correct
24 Correct 0 ms 313616 KB Output is correct
25 Correct 0 ms 313616 KB Output is correct
26 Correct 0 ms 313616 KB Output is correct
27 Correct 0 ms 313616 KB Output is correct
28 Correct 0 ms 313616 KB Output is correct
29 Correct 0 ms 313616 KB Output is correct
30 Correct 0 ms 313616 KB Output is correct
31 Correct 0 ms 313616 KB Output is correct
32 Correct 0 ms 313616 KB Output is correct
33 Correct 0 ms 313616 KB Output is correct
34 Correct 0 ms 313616 KB Output is correct
35 Correct 0 ms 313616 KB Output is correct
36 Correct 0 ms 313616 KB Output is correct
37 Correct 0 ms 313616 KB Output is correct
38 Correct 0 ms 313616 KB Output is correct
39 Correct 0 ms 313616 KB Output is correct
40 Correct 0 ms 313616 KB Output is correct
41 Correct 0 ms 313616 KB Output is correct
42 Correct 0 ms 313616 KB Output is correct
43 Correct 0 ms 313616 KB Output is correct
44 Correct 0 ms 313616 KB Output is correct
45 Correct 0 ms 313616 KB Output is correct
46 Correct 0 ms 313616 KB Output is correct
47 Correct 0 ms 313616 KB Output is correct
48 Correct 0 ms 313616 KB Output is correct
49 Correct 0 ms 313616 KB Output is correct
50 Correct 0 ms 313616 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 313616 KB Output is correct
2 Correct 0 ms 313616 KB Output is correct
3 Correct 0 ms 313616 KB Output is correct
4 Correct 0 ms 313616 KB Output is correct
5 Correct 0 ms 313616 KB Output is correct
6 Correct 0 ms 313616 KB Output is correct
7 Correct 0 ms 313616 KB Output is correct
8 Correct 0 ms 313616 KB Output is correct
9 Correct 0 ms 313616 KB Output is correct
10 Correct 0 ms 313616 KB Output is correct
11 Correct 0 ms 313616 KB Output is correct
12 Correct 0 ms 313616 KB Output is correct
13 Correct 0 ms 313616 KB Output is correct
14 Correct 0 ms 313616 KB Output is correct
15 Correct 0 ms 313616 KB Output is correct
16 Correct 0 ms 313616 KB Output is correct
17 Correct 0 ms 313616 KB Output is correct
18 Correct 0 ms 313616 KB Output is correct
19 Correct 0 ms 313616 KB Output is correct
20 Correct 0 ms 313616 KB Output is correct
21 Correct 0 ms 313616 KB Output is correct
22 Correct 0 ms 313616 KB Output is correct
23 Correct 0 ms 313616 KB Output is correct
24 Correct 0 ms 313616 KB Output is correct
25 Correct 0 ms 313616 KB Output is correct
26 Correct 0 ms 313616 KB Output is correct
27 Correct 0 ms 313616 KB Output is correct
28 Correct 0 ms 313616 KB Output is correct
29 Correct 0 ms 313616 KB Output is correct
30 Correct 0 ms 313616 KB Output is correct
31 Correct 0 ms 313616 KB Output is correct
32 Correct 0 ms 313616 KB Output is correct
33 Correct 0 ms 313616 KB Output is correct
34 Correct 0 ms 313616 KB Output is correct
35 Correct 0 ms 313616 KB Output is correct
36 Correct 0 ms 313616 KB Output is correct
37 Correct 0 ms 313616 KB Output is correct
38 Correct 0 ms 313616 KB Output is correct
39 Correct 0 ms 313616 KB Output is correct
40 Correct 0 ms 313616 KB Output is correct
41 Correct 0 ms 313616 KB Output is correct
42 Correct 0 ms 313616 KB Output is correct
43 Correct 0 ms 313616 KB Output is correct
44 Correct 0 ms 313616 KB Output is correct
45 Correct 0 ms 313616 KB Output is correct
46 Correct 0 ms 313616 KB Output is correct
47 Correct 0 ms 313616 KB Output is correct
48 Correct 0 ms 313616 KB Output is correct
49 Correct 0 ms 313616 KB Output is correct
50 Correct 0 ms 313616 KB Output is correct
51 Execution timed out 500 ms 313616 KB Execution timed out
52 Halted 0 ms 0 KB -