189582025-11-13 10:54:18ubormaciElengedhetetlen kockákcpp17Time limit exceeded 57/1001.1s656 KiB
#include <iostream>
#include <algorithm> // for sort, mainly
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <array>
#include <string>
#include <cstdio>
#include <iterator>
#include <unordered_set>
#include <cstdint> // for int64_t, int32_t, etc
#include <queue>
#include <stack>
#include <deque>
#include <numeric> // gcd, lcm
#include <fstream>
#include <bitset> // for bitset
#include <iomanip>
#include <cassert> // for set with custom ordering
#include <type_traits> // for set with custom ordering
#include <utility> // for swap, forward, etc
using namespace std;

#pragma GCC optimize("O3","Ofast","unroll-loops")
// #pragma GCC optimize("O1","O2","O3","Ofast","unroll-loops")
// #pragma GCC target("sse","sse2","sse3","sse4.1","sse4.2","avx","avx2","fma")

template<typename A, typename B> ostream& operator<<(ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; }
template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; }
void dbg_out() { cout << endl; }
template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); }
#ifdef LOCAL
#define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
#else
#define dbg(...)
#endif

/*

notes:

int64_t
stoi(string s) -> string to int
to_string() -> int (or else) to string

vector declaration:
vector<ll> v(n, 0)
vector<vector<ll>> v(n, vector<ll>(n, 0));

{if statement} ? {truth value} : {false value}

#ifdef LOCAL
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
#endif

std::lcm(ll a, ll b), std::gcd(int a, int b)

cout << fixed << setprecision(n);

set with custom ordering
set<ll, decltype(&cmp)> qu(cmp);

*/

typedef int32_t ll;

void solve() {

    // nmax = 3000
    // smax = 3000

    const ll nmax = 3000;
    const ll smax = 3000;

    ll n, s;
    cin >> n >> s;

    vector<ll> v(n+1, 0);
    for(ll i = 1; i <= n; i++) {
        cin >> v[i];
    }

    bitset<nmax + 1> necc;

    for(ll i = 1; i <= n; i++) {

        bitset<smax + 1> dp;
        dp[0] = true;

        for(ll j = 1; j <= n; j++) {

            if(i == j) {
                continue;
            }

            for(ll w = s; w >= v[j]; w--) {
                dp[w] = dp[w] || dp[w-v[j]];
            }

            if(dp[s]) {
                necc[i] = false;
                break;
            }

        }

        //cerr << "\ni=" << i << "; dp=" << dp;

        if(dp[s]) {
            necc[i] = false;
        }else{
            necc[i] = true;
        }

    }

    for(ll i = 1; i <= n; i++) {
        if(necc[i]) {
            cout << "YES\n";
        }else{
            cout << "NO\n";
        }
    }

}

int main()
{
	std::ios_base::sync_with_stdio(false);
	//cin.tie(nullptr);
	//cout.tie(nullptr);

	solve();

	return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms508 KiB
subtask222/22
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms380 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms316 KiB
11Accepted1ms656 KiB
12Accepted1ms372 KiB
subtask335/35
13Accepted2ms316 KiB
14Accepted2ms316 KiB
15Accepted2ms380 KiB
16Accepted2ms316 KiB
17Accepted2ms316 KiB
18Accepted2ms316 KiB
19Accepted2ms316 KiB
20Accepted2ms316 KiB
21Accepted1ms656 KiB
22Accepted1ms372 KiB
23Accepted16ms424 KiB
24Accepted20ms316 KiB
25Accepted14ms416 KiB
26Accepted25ms420 KiB
27Accepted27ms500 KiB
28Accepted16ms316 KiB
29Accepted4ms416 KiB
30Accepted25ms416 KiB
31Accepted26ms420 KiB
subtask40/43
32Accepted1ms508 KiB
33Accepted1ms316 KiB
34Accepted2ms316 KiB
35Accepted2ms316 KiB
36Accepted2ms380 KiB
37Accepted2ms316 KiB
38Accepted2ms316 KiB
39Accepted2ms316 KiB
40Accepted2ms316 KiB
41Accepted2ms316 KiB
42Accepted1ms656 KiB
43Accepted1ms372 KiB
44Accepted16ms424 KiB
45Accepted20ms316 KiB
46Accepted14ms416 KiB
47Accepted25ms420 KiB
48Accepted27ms500 KiB
49Accepted16ms316 KiB
50Accepted4ms416 KiB
51Accepted25ms416 KiB
52Accepted26ms420 KiB
53Time limit exceeded1.077s508 KiB
54Accepted495ms440 KiB
55Time limit exceeded1.098s388 KiB
56Time limit exceeded1.1s316 KiB
57Time limit exceeded1.078s316 KiB
58Time limit exceeded1.082s316 KiB
59Time limit exceeded1.1s316 KiB
60Accepted907ms436 KiB
61Time limit exceeded1.088s316 KiB
62Accepted995ms316 KiB