답안 #22523

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
22523 2017-04-30T05:19:14 Z AJAE(#998, nona1314, adman, wowoto9772) Fully Generate (KRIII5_FG) C++14
2 / 7
500 ms 246020 KB
#include <cstdio>
#include <vector>

using namespace std;
using ll = long long;
ll MMOD = 1000000007;
ll popo(ll a, ll p) {
	ll r = 1;
	while (p) {
		if (p & 1) {
			ll v = r*a;
			if (v >= MMOD)v %= MMOD;
			r = v;
		}
		ll v = a*a;
		if (v >= MMOD)v %= MMOD;
		a = v;
		p >>= 1LL;
	}
	return r;
}

ll arr[31347599];
int sss[6] = { 0,1,2,4,12,36 };
int main()
{
	ll n;
	ll cnt = 0;
	ll ans = 1;
	scanf("%lld", &n);
	if (n <= 5) {
		printf("%d\n", sss[n]);
		return 0;
	}
	ll gsize = 4;
	arr[0] = 0;
	arr[1] = 1;
	arr[2] = 2;
	arr[3] = 2;
	cnt = 1 + 2 + 2;
	ans = 2 * 2 * 3 * 3;
	bool sw = true;
	for (int i = 3; sw; ++i) {
		ll &tmp = arr[i];
		ll ttmp = 1;
		int st = gsize;
		for (ll j = 0; j<tmp; ++j) {
			arr[gsize] = i;
			gsize++;
			cnt += i;
			if (cnt >= n) {
				ans = (ans * popo(ttmp, i)) % MMOD;
				arr[gsize - 1] = i - (cnt - n);
				ans = (ans * popo(gsize - 1, arr[gsize - 1])) % MMOD;
				printf("%lld\n", ans);
				return 0;
			}
			ttmp = (ttmp*(gsize - 1)) % MMOD;
		}
		ans = (ans * popo(ttmp, i)) % MMOD;
	}

	return 0;
}

Compilation message

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