Submission #22713

#TimeUsernameProblemLanguageResultExecution timeMemory
22713응 내인생 터졌어~ (#40)Fully Generate (KRIII5_FG)C++11
7 / 7
179 ms626116 KiB
#include <stdio.h> unsigned long long dp[40000000],dp2[40000000]; int ass[100] = {0,1,2,4,12,36,144,576,2304,11520,57600}; 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 =36; scanf("%llu", &n); dp2[1] = 1; dp2[2] = 5; unsigned long long k = 3; if (n <=10) { printf("%d", ass[n]); return 0; } for (int i = 3; i < 40000000; i++) { dp2[i] = dp2[i - 1] + i*go(i); unsigned long long prev,tt = 1,temp = dp2[i-1]; for (int j = k + 1; j<=k + dp[i]; j++) { prev = tt; tt *= j; tt %= 1000000007; temp += i; if (temp >= n) // ������ ��� { temp -= i; ans *= po(prev, i); ans %= 1000000007; ans *= po(j, n - temp); ans %= 1000000007; printf("%d", ans); return 0; } } k += dp[i]; ans *= po(tt, i); ans %= 1000000007; } return 0; }

Compilation message (stderr)

FG.cpp: In function 'int main()':
FG.cpp:62:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j = k + 1; j<=k + dp[i]; j++)
                        ^
FG.cpp:77:21: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long unsigned int' [-Wformat=]
     printf("%d", ans);
                     ^
FG.cpp:40:21: warning: unused variable 'sum' [-Wunused-variable]
  unsigned long long sum = 0,n,ans =36;
                     ^
FG.cpp:41:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%llu", &n);
                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...