Submission #1502027


Source Code Expand

#include <iostream>

constexpr auto P = static_cast<int>(1e9 + 7);

class modP {
private:
  int i;

public:
  modP(int i) noexcept : i(i % P) {}
  modP operator-(int b) { return (i - b) % P; }
  modP operator*(modP b) { return static_cast<int64_t>(i) * b.i % P; }
  modP factorial() {
		if(i == 0 || i==1 ) return 1;
		return (*this - 1).factorial() * *this; }
  friend std::ostream & operator<< (std::ostream & ostr, const modP &i);
};

std::ostream & operator<< (std::ostream& ostr, const modP& i){
  return ostr << i.i;
}

int main(void) {
  int N;
  std::cin >> N;
	std::cout << modP(N).factorial();
  return 0;
}

Submission Info

Submission Time
Task B - Training Camp
User ktns
Language C++14 (Clang 3.8.0)
Score 200
Code Size 646 Byte
Status AC
Exec Time 4 ms
Memory 3328 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 7
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
00_example_03.txt AC 4 ms 3328 KB
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 4 ms 3328 KB
04.txt AC 3 ms 2688 KB