189592025-11-13 10:57:44ubormaciElengedhetetlen kockákcpp17Time limit exceeded 57/1001.1s508 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
2Accepted1ms316 KiB
subtask222/22
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
8Accepted2ms316 KiB
9Accepted2ms500 KiB
10Accepted2ms384 KiB
11Accepted2ms316 KiB
12Accepted2ms316 KiB
subtask335/35
13Accepted2ms316 KiB
14Accepted2ms316 KiB
15Accepted2ms316 KiB
16Accepted2ms316 KiB
17Accepted2ms316 KiB
18Accepted2ms316 KiB
19Accepted2ms500 KiB
20Accepted2ms384 KiB
21Accepted2ms316 KiB
22Accepted2ms316 KiB
23Accepted16ms416 KiB
24Accepted20ms316 KiB
25Accepted14ms420 KiB
26Accepted25ms416 KiB
27Accepted27ms316 KiB
28Accepted14ms416 KiB
29Accepted4ms316 KiB
30Accepted25ms316 KiB
31Accepted25ms420 KiB
subtask40/43
32Accepted1ms508 KiB
33Accepted1ms316 KiB
34Accepted2ms316 KiB
35Accepted2ms316 KiB
36Accepted2ms316 KiB
37Accepted2ms316 KiB
38Accepted2ms316 KiB
39Accepted2ms316 KiB
40Accepted2ms500 KiB
41Accepted2ms384 KiB
42Accepted2ms316 KiB
43Accepted2ms316 KiB
44Accepted16ms416 KiB
45Accepted20ms316 KiB
46Accepted14ms420 KiB
47Accepted25ms416 KiB
48Accepted27ms316 KiB
49Accepted14ms416 KiB
50Accepted4ms316 KiB
51Accepted25ms316 KiB
52Accepted25ms420 KiB
53Time limit exceeded1.077s316 KiB
54Accepted486ms508 KiB
55Time limit exceeded1.1s384 KiB
56Time limit exceeded1.098s316 KiB
57Time limit exceeded1.075s316 KiB
58Time limit exceeded1.08s316 KiB
59Time limit exceeded1.083s316 KiB
60Accepted884ms316 KiB
61Time limit exceeded1.085s316 KiB
62Accepted967ms316 KiB