結果
問題 | No.1550 nullくんの町清掃 / null's Town Cleaning |
ユーザー |
![]() |
提出日時 | 2019-09-08 23:46:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 4,677 bytes |
コンパイル時間 | 984 ms |
コンパイル使用メモリ | 105,804 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 19:26:26 |
合計ジャッジ時間 | 1,608 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 |
ソースコード
/*このコード、と~おれ!Be accepted!∧_∧(。・ω・。)つ━☆・*。⊂ ノ ・゜+.しーJ °。+ *´¨).· ´¸.·*´¨) ¸.·*¨)(¸.·´ (¸.·'* ☆*/#include <stdio.h>#include <algorithm>#include <string>#include <cmath>#include <cstring>#include <vector>#include <numeric>#include <iostream>#include <random>#include <map>#include <unordered_map>#pragma GCC optimize("Ofast")#define rep(i, n) for(int i = 0; i < (n); ++i)#define rep1(i, n) for(int i = 1; i <= (n); ++i)#define repr(i, n) for(int i = n; i >= 0; --i)#define reprm(i, n) for(int i = n - 1; i >= 0; --i)#define printynl(a) printf(a ? "yes\n" : "no\n")#define printyn(a) printf(a ? "Yes\n" : "No\n")#define printYN(a) printf(a ? "YES\n" : "NO\n")#define printin(a) printf(a ? "possible\n" : "inposible\n")#define printdb(a) printf("%.16f\n", a)//少数出力#define all(x) (x).begin(), (x).end()#define allsum(a, b, c) ((a + b) * c / 2)//等差数列の和、初項,末項,項数using ll = long long;const int INF = 2147483647;const int MINF = -2147483648;const ll LINF = ll(9223372036854775807);const ll MOD = 1000000007;const double PI = acos(-1);//マクロとかここまでusing namespace std;int ggd(int number1, int number2) {//ggcを求めるint m = number1;int n = number2;if (number2 > number1) {m = number2;n = number1;}while (m != n) {int temp = n;n = m - n;m = temp;}return m;}int lcm(int number1, int number2) {//lcmを求めるreturn number1 * number2 / ggd(number1, number2);}bool is_prime(int64_t x) {//素数判定for (int64_t i = 2; i * i <= x; i++) {if (x % i == 0) return false;}return true;}ll nearPow2(ll n)//x以上の2のべき乗を返す{// nが0以下の時は0とする。if (n <= 0) return 0;// (n & (n - 1)) == 0 の時は、nが2の冪乗であるため、そのままnを返す。if ((n & (n - 1)) == 0) return ll(n);// bitシフトを用いて、2の冪乗を求める。ll ret = 1;while (n > 0) { ret <<= 1; n >>= 1; }return ret;}map< int64_t, int > prime_factor(int64_t n) {//素因数分解map< int64_t, int > ret;for (int64_t i = 2; i * i <= n; i++) {while (n % i == 0) {ret[i]++;n /= i;}}if (n != 1) ret[n] = 1;return ret;}template< int mod >struct ModInt {int x;ModInt() : x(0) {}ModInt(int64_t y) : x(y >= 0 ? y % mod : (mod - (-y) % mod) % mod) {}ModInt& operator+=(const ModInt& p) {if ((x += p.x) >= mod) x -= mod;return *this;}ModInt& operator-=(const ModInt& p) {if ((x += mod - p.x) >= mod) x -= mod;return *this;}ModInt& operator*=(const ModInt& p) {x = (int)(1LL * x * p.x % mod);return *this;}ModInt& operator/=(const ModInt& p) {*this *= p.inverse();return *this;}ModInt operator-() const { return ModInt(-x); }ModInt operator+(const ModInt& p) const { return ModInt(*this) += p; }ModInt operator-(const ModInt& p) const { return ModInt(*this) -= p; }ModInt operator*(const ModInt& p) const { return ModInt(*this) *= p; }ModInt operator/(const ModInt& p) const { return ModInt(*this) /= p; }bool operator==(const ModInt& p) const { return x == p.x; }bool operator!=(const ModInt& p) const { return x != p.x; }ModInt inverse() const {int a = x, b = mod, u = 1, v = 0, t;while (b > 0) {t = a / b;swap(a -= t * b, b);swap(u -= t * v, v);}return ModInt(u);}ModInt pow(int64_t n) const {ModInt ret(1), mul(x);while (n > 0) {if (n & 1) ret *= mul;mul *= mul;n >>= 1;}return ret;}friend ostream& operator<<(ostream& os, const ModInt& p) {return os << p.x;}friend istream& operator>>(istream& is, ModInt& a) {int64_t t;is >> t;a = ModInt< mod >(t);return (is);}static int get_mod() { return mod; }};using modint = ModInt< MOD >;//MOD=10億7// mod. m での a の逆元 a^{-1} を計算するlong long modinv(long long a, long long m) {long long b = m, u = 1, v = 0;while (b) {long long t = a / b;a -= t * b; swap(a, b);u -= t * v; swap(u, v);}u %= m;if (u < 0) u += m;return u;}//aCbを1000000007で割った余りを求めるll convination(ll a, ll b) {ll ans = 1;for (ll i = 0; i < b; i++) {ans *= a - i;ans %= MOD;}for (ll i = 1; i <= b; i++) {ans *= modinv(i, MOD);ans %= MOD;}return ans;}/*-----------------------------------------ここまでライブラリとか-----------------------------------------*/int main() {modint n;cin >> n;cout << n;return 0;}