189592025-11-13 10:57:44ubormaciElengedhetetlen kockákcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask222/22
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms500 KiB
10Elfogadva2ms384 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms316 KiB
subtask335/35
13Elfogadva2ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva2ms316 KiB
18Elfogadva2ms316 KiB
19Elfogadva2ms500 KiB
20Elfogadva2ms384 KiB
21Elfogadva2ms316 KiB
22Elfogadva2ms316 KiB
23Elfogadva16ms416 KiB
24Elfogadva20ms316 KiB
25Elfogadva14ms420 KiB
26Elfogadva25ms416 KiB
27Elfogadva27ms316 KiB
28Elfogadva14ms416 KiB
29Elfogadva4ms316 KiB
30Elfogadva25ms316 KiB
31Elfogadva25ms420 KiB
subtask40/43
32Elfogadva1ms508 KiB
33Elfogadva1ms316 KiB
34Elfogadva2ms316 KiB
35Elfogadva2ms316 KiB
36Elfogadva2ms316 KiB
37Elfogadva2ms316 KiB
38Elfogadva2ms316 KiB
39Elfogadva2ms316 KiB
40Elfogadva2ms500 KiB
41Elfogadva2ms384 KiB
42Elfogadva2ms316 KiB
43Elfogadva2ms316 KiB
44Elfogadva16ms416 KiB
45Elfogadva20ms316 KiB
46Elfogadva14ms420 KiB
47Elfogadva25ms416 KiB
48Elfogadva27ms316 KiB
49Elfogadva14ms416 KiB
50Elfogadva4ms316 KiB
51Elfogadva25ms316 KiB
52Elfogadva25ms420 KiB
53Időlimit túllépés1.077s316 KiB
54Elfogadva486ms508 KiB
55Időlimit túllépés1.1s384 KiB
56Időlimit túllépés1.098s316 KiB
57Időlimit túllépés1.075s316 KiB
58Időlimit túllépés1.08s316 KiB
59Időlimit túllépés1.083s316 KiB
60Elfogadva884ms316 KiB
61Időlimit túllépés1.085s316 KiB
62Elfogadva967ms316 KiB