Submission #22613

#TimeUsernameProblemLanguageResultExecution timeMemory
22613응 내인생 터졌어~ (#40)Fully Generate (KRIII5_FG)C++11
0 / 7
0 ms313616 KiB
#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; 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("%d", ans); return 0; }

Compilation message (stderr)

FG.cpp: In function 'int main()':
FG.cpp:59:18: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long unsigned int' [-Wformat=]
  printf("%d", ans);
                  ^
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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...