Submission #56784200


Source Code Expand

// #pragma comment(linker, "/stack:200000000")
// #pragma GCC optimize("Ofast,no-stack-protector")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
// #pragma GCC optimize("unroll-loops")

#include <stdio.h>
#include <bits/stdc++.h>

#ifdef PERVEEVM_LOCAL
    #define debug(x...) std::cerr << "[DEBUG]\t" << __LINE__ << ":\t" << (#x) << " = "; print_debug(x)
#else
    #define debug(x...) 238
#endif

#define fastIO std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(nullptr)
#define NAME "File"

using ll = long long;
using ld = long double;

#ifdef PERVEEVM_LOCAL
    std::mt19937 rnd(238);
#else
    std::mt19937 rnd(std::chrono::high_resolution_clock::now().time_since_epoch().count());
#endif

template<typename T1, typename T2>
std::ostream& operator<<(std::ostream& out, const std::pair<T1, T2>& p) {
    out << "(" << p.first << ", " << p.second << ")";
    return out;
}

template<size_t index, typename T>
std::ostream& print_tuple(std::ostream& out, const T& t) {
    if constexpr (index == std::tuple_size<T>::value) {
        out << ")";
        return out;
    } else {
        if (index > 0) {
            out << ", ";
        } else {
            out << "(";
        }
        out << std::get<index>(t);
        return print_tuple<index + 1, T>(out, t);
    }
}

template<typename ...T>
std::ostream& operator<<(std::ostream& out, const std::tuple<T...>& t) {
    return print_tuple<0, std::tuple<T...>>(out, t);
}

template<typename Container, typename = decltype(std::begin(std::declval<Container>()))>
typename std::enable_if<!std::is_same<Container, std::string>::value, std::ostream&>::type
operator<<(std::ostream& out, const Container& container) {
    out << "{";
    for (auto it = container.begin(); it != container.end(); ++it) {
        if (it != container.begin()) {
            out << ", ";
        }
        out << *it;
    }
    out << "}";
    return out;
}

void print_debug() {
    std::cerr << std::endl;
}

template<typename T, typename... V>
void print_debug(const T& value, const V&... others) {
    std::cerr << value;
    if (sizeof...(others) != 0) {
        std::cerr << ", ";
        print_debug(others...);
    } else {
        std::cerr << std::endl;
    }
}

template<typename T>
bool smin(T& a, const T& b) {
    if (b < a) {
        a = b;
        return true;
    }
    return false;
}

template<typename T>
bool smax(T& a, const T& b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

const double PI = atan2(0.0, -1.0);
const int INF = 0x3f3f3f3f;
const ll LINF = (ll)2e18;
const int N = 10;

int r[N];
int ans[N];

void brute(int n, int k, int pref, ll prod) {
	if (pref == n) {
		if (prod % k == 0) {
			for (int i = 0; i < n; ++i) {
				printf("%d ", ans[i]);
			}
			printf("\n");
		}
		return;
	}

	for (int i = 1; i <= r[pref]; ++i) {
		ans[pref] = i;
		brute(n, k, pref + 1, prod + i);
	}
}

void run() {
    int n, k;
    scanf("%d%d", &n, &k);

    for (int i = 0; i < n; ++i) {
    	scanf("%d", &r[i]);
    }

    brute(n, k, 0, 0);
}

int main(void) {
    // freopen(NAME".in", "r", stdin);
    // freopen(NAME".out", "w", stdout);

    #ifdef PERVEEVM_LOCAL
        auto start = std::chrono::high_resolution_clock::now();
    #endif

    run();

    #ifdef PERVEEVM_LOCAL
        auto end = std::chrono::high_resolution_clock::now();
        std::cerr << "Execution time: "
                  << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count()
                  << " ms" << std::endl;
    #endif

    return 0;
}

Submission Info

Submission Time
Task C - Enumerate Sequences
User DishonoredR
Language C++ 20 (gcc 12.2)
Score 300
Code Size 3746 Byte
Status AC
Exec Time 74 ms
Memory 3920 KiB

Compile Error

Main.cpp: In function ‘void run()’:
Main.cpp:128:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  128 |     scanf("%d%d", &n, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:131:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  131 |         scanf("%d", &r[i]);
      |         ~~~~~^~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 33
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3852 KiB
sample_02.txt AC 1 ms 3604 KiB
sample_03.txt AC 1 ms 3720 KiB
test_01.txt AC 1 ms 3764 KiB
test_02.txt AC 1 ms 3724 KiB
test_03.txt AC 1 ms 3736 KiB
test_04.txt AC 74 ms 3920 KiB
test_05.txt AC 50 ms 3896 KiB
test_06.txt AC 39 ms 3788 KiB
test_07.txt AC 32 ms 3660 KiB
test_08.txt AC 26 ms 3668 KiB
test_09.txt AC 23 ms 3660 KiB
test_10.txt AC 21 ms 3784 KiB
test_11.txt AC 19 ms 3784 KiB
test_12.txt AC 16 ms 3768 KiB
test_13.txt AC 1 ms 3540 KiB
test_14.txt AC 1 ms 3784 KiB
test_15.txt AC 1 ms 3644 KiB
test_16.txt AC 1 ms 3788 KiB
test_17.txt AC 1 ms 3644 KiB
test_18.txt AC 1 ms 3848 KiB
test_19.txt AC 1 ms 3784 KiB
test_20.txt AC 1 ms 3776 KiB
test_21.txt AC 1 ms 3772 KiB
test_22.txt AC 1 ms 3748 KiB
test_23.txt AC 1 ms 3896 KiB
test_24.txt AC 1 ms 3764 KiB
test_25.txt AC 1 ms 3848 KiB
test_26.txt AC 1 ms 3844 KiB
test_27.txt AC 1 ms 3668 KiB
test_28.txt AC 1 ms 3852 KiB
test_29.txt AC 1 ms 3708 KiB
test_30.txt AC 1 ms 3664 KiB