189572025-11-13 10:53:08ubormaciElengedhetetlen kockákcpp17Time limit exceeded 57/1001.1s512 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("O2")
// #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
5Accepted3ms316 KiB
6Accepted2ms420 KiB
7Accepted2ms328 KiB
8Accepted2ms316 KiB
9Accepted2ms420 KiB
10Accepted2ms316 KiB
11Accepted1ms316 KiB
12Accepted2ms328 KiB
subtask335/35
13Accepted2ms316 KiB
14Accepted2ms316 KiB
15Accepted3ms316 KiB
16Accepted2ms420 KiB
17Accepted2ms328 KiB
18Accepted2ms316 KiB
19Accepted2ms420 KiB
20Accepted2ms316 KiB
21Accepted1ms316 KiB
22Accepted2ms328 KiB
23Accepted20ms420 KiB
24Accepted26ms416 KiB
25Accepted18ms316 KiB
26Accepted28ms420 KiB
27Accepted29ms512 KiB
28Accepted17ms500 KiB
29Accepted6ms316 KiB
30Accepted28ms316 KiB
31Accepted29ms316 KiB
subtask40/43
32Accepted1ms316 KiB
33Accepted1ms508 KiB
34Accepted2ms316 KiB
35Accepted2ms316 KiB
36Accepted3ms316 KiB
37Accepted2ms420 KiB
38Accepted2ms328 KiB
39Accepted2ms316 KiB
40Accepted2ms420 KiB
41Accepted2ms316 KiB
42Accepted1ms316 KiB
43Accepted2ms328 KiB
44Accepted20ms420 KiB
45Accepted26ms416 KiB
46Accepted18ms316 KiB
47Accepted28ms420 KiB
48Accepted29ms512 KiB
49Accepted17ms500 KiB
50Accepted6ms316 KiB
51Accepted28ms316 KiB
52Accepted29ms316 KiB
53Time limit exceeded1.08s316 KiB
54Accepted640ms508 KiB
55Time limit exceeded1.1s316 KiB
56Time limit exceeded1.1s316 KiB
57Time limit exceeded1.08s316 KiB
58Time limit exceeded1.08s316 KiB
59Time limit exceeded1.082s316 KiB
60Time limit exceeded1.054s316 KiB
61Time limit exceeded1.082s316 KiB
62Time limit exceeded1.088s316 KiB