Submission #22399

#TimeUsernameProblemLanguageResultExecution timeMemory
22399dried chocochip on Daegu asphalt (#40)Fully Generate (KRIII5_FG)C++98
2 / 7
500 ms314520 KiB
#include<bits/stdc++.h> using namespace std; const int INF = 1e9+7; long long arr[40000000]; long long mul(long long n, long long m) { long long ret = 1; while(m) { if(m%2) ret = (ret*n)%INF; n = (n*n)%INF; m /= 2; } return ret; } int main() { long long ret = 1; arr[1] = 1; arr[2] = 2; long long n; scanf("%lld", &n); if(n == 1) { printf("1\n"); return 0; } n--; long long cur = 2, idx = 2; for(int i = 2; i < 40000000; i++) { for(int j = 0; j < arr[i]; j++) { if(idx == 40000000) break; arr[idx++] = cur; } long long cnt = min(n, arr[i]); ret = (ret*mul(cur, cnt)) % INF; n -= cnt; if(n == 0) break; cur++; } printf("%lld\n", ret); return 0; }

Compilation message (stderr)

FG.cpp: In function 'int main()':
FG.cpp:28:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld", &n);
                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...