Submission #25392745


Source Code Expand

#include "bits/stdc++.h"

#define int long long

using namespace std;
using ll = long long;
using ld = long double;
using P = pair<ll, ll>;
const ll INF = (1LL << 61);
ll mod = 1000000007;

struct mint {
	ll x; // typedef long long ll;
	mint(ll x = 0) :x((x%mod + mod) % mod) {}
	mint operator-() const { return mint(-x); }
	mint& operator+=(const mint a) {
		if ((x += a.x) >= mod) x -= mod;
		return *this;
	}
	mint& operator-=(const mint a) {
		if ((x += mod - a.x) >= mod) x -= mod;
		return *this;
	}
	mint& operator*=(const mint a) {
		(x *= a.x) %= mod;
		return *this;
	}
	mint operator+(const mint a) const {
		mint res(*this);
		return res += a;
	}
	mint operator-(const mint a) const {
		mint res(*this);
		return res -= a;
	}
	mint operator*(const mint a) const {
		mint res(*this);
		return res *= a;
	}
	mint pow(ll t) const {
		if (!t) return 1;
		mint a = pow(t >> 1);
		a *= a;
		if (t & 1) a *= *this;
		return a;
	}

	// for prime mod
	mint inv() const {
		return pow(mod - 2);
	}
	mint& operator/=(const mint a) {
		return (*this) *= a.inv();
	}
	mint operator/(const mint a) const {
		mint res(*this);
		return res /= a;
	}
};
istream& operator>>(istream& is, mint& a) { return is >> a.x; }
ostream& operator<<(ostream& os, const mint& a) { return os << a.x; }
struct combination {
	vector<mint> fact, ifact;
	combination(int n) :fact(n + 1), ifact(n + 1) {
		//assert(n < mod);
		fact[0] = 1;
		for (int i = 1; i <= n; ++i) fact[i] = fact[i - 1] * i;
		ifact[n] = fact[n].inv();
		for (int i = n; i >= 1; --i) ifact[i - 1] = ifact[i] * i;
	}
	mint operator()(int n, int k) {
		if (k < 0 || k > n) return 0;
		return fact[n] * ifact[k] * ifact[n - k];
	}
};
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	combination com(100010);
	int N; cin >> N;
	for (int k = 1; k <= N; k++) {
		mint ans = 0;
		for (int i = 1; i <= N / k + 10; i++) {
			if (N - (k - 1) * (i - 1) < i)break;
			ans += com(N - (k - 1) * (i - 1), i);
		}
		cout << ans << endl;
	}
	return 0;
}

Submission Info

Submission Time
Task 015 - Don't be too close(★6)
User Example
Language C++ (GCC 9.2.1)
Score 6
Code Size 2088 Byte
Status AC
Exec Time 194 ms
Memory 4712 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 6 / 6
Status
AC × 7
AC × 32
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_06.txt, sample_07.txt
All 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt, 02_large_05.txt, 02_large_06.txt, 02_large_07.txt, 02_large_08.txt, 02_large_09.txt, 02_large_10.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_06.txt, sample_07.txt
Case Name Status Exec Time Memory
01_random_01.txt AC 164 ms 4664 KiB
01_random_02.txt AC 153 ms 4616 KiB
01_random_03.txt AC 132 ms 4692 KiB
01_random_04.txt AC 138 ms 4692 KiB
01_random_05.txt AC 118 ms 4576 KiB
01_random_06.txt AC 125 ms 4632 KiB
01_random_07.txt AC 21 ms 4596 KiB
01_random_08.txt AC 105 ms 4696 KiB
01_random_09.txt AC 139 ms 4668 KiB
01_random_10.txt AC 46 ms 4520 KiB
01_random_11.txt AC 172 ms 4528 KiB
01_random_12.txt AC 15 ms 4616 KiB
01_random_13.txt AC 113 ms 4528 KiB
01_random_14.txt AC 186 ms 4584 KiB
01_random_15.txt AC 172 ms 4712 KiB
02_large_01.txt AC 176 ms 4636 KiB
02_large_02.txt AC 176 ms 4596 KiB
02_large_03.txt AC 157 ms 4636 KiB
02_large_04.txt AC 168 ms 4592 KiB
02_large_05.txt AC 155 ms 4576 KiB
02_large_06.txt AC 194 ms 4696 KiB
02_large_07.txt AC 188 ms 4532 KiB
02_large_08.txt AC 174 ms 4632 KiB
02_large_09.txt AC 187 ms 4616 KiB
02_large_10.txt AC 191 ms 4632 KiB
sample_01.txt AC 17 ms 4692 KiB
sample_02.txt AC 11 ms 4512 KiB
sample_03.txt AC 14 ms 4668 KiB
sample_04.txt AC 11 ms 4572 KiB
sample_05.txt AC 14 ms 4520 KiB
sample_06.txt AC 13 ms 4520 KiB
sample_07.txt AC 18 ms 4688 KiB