# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
8558 | a555 | 팩토리얼 세제곱들의 합 (YDX14_fact) | C++98 | 0 ms | 1676 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <stdio.h>
#include <cstring>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <math.h>
#include <bitset>
#include <numeric>
#pragma warning(disable:4996)
#define REP(variable, repeatnumber) for(int variable=0; variable<(repeatnumber); ++variable)
#define FOR(variable, start, end) for(int variable=(start); variable<=(end); ++variable)
#define RFOR(variable, start, end) for(int variable=(start); variable>=(end); --variable)
#define ULL unsigned long long
#define LL long long
using namespace std; // 700B
int n, k, p;
int ma(int r){
int a = r;
while (1){
if (a % 10 != 0){
a = a % 10;
break;
}
a /= 10;
}
return a;
}
int fun1(int n, int k){
int a = 1, r = 1;
FOR(i, 1, n) a *= i;
REP(i, k) r *= a;
return r;
}
int fun(int n, int k){
int a = 1;
FOR(i, 1, n){
a += fun1(i, k);
//cout << i << " " << fun1(i, k) <<" "<< a << endl;
}
if(a!=0)a = ma(a);
return a;
}
int kzro(int n, int k){
int r = n + 1;
return ma(r);
}
int main()
{
scanf("%d%d", &n, &k);
if (n > 4 && k != 0) n = 4;
if (k == 0) printf("%d\n", kzro(n, k));
else printf("%d\n", fun(n, k));
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |