189582025-11-13 10:54:18ubormaciElengedhetetlen kockákcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms508 KiB
subtask222/22
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms380 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms656 KiB
12Elfogadva1ms372 KiB
subtask335/35
13Elfogadva2ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva2ms380 KiB
16Elfogadva2ms316 KiB
17Elfogadva2ms316 KiB
18Elfogadva2ms316 KiB
19Elfogadva2ms316 KiB
20Elfogadva2ms316 KiB
21Elfogadva1ms656 KiB
22Elfogadva1ms372 KiB
23Elfogadva16ms424 KiB
24Elfogadva20ms316 KiB
25Elfogadva14ms416 KiB
26Elfogadva25ms420 KiB
27Elfogadva27ms500 KiB
28Elfogadva16ms316 KiB
29Elfogadva4ms416 KiB
30Elfogadva25ms416 KiB
31Elfogadva26ms420 KiB
subtask40/43
32Elfogadva1ms508 KiB
33Elfogadva1ms316 KiB
34Elfogadva2ms316 KiB
35Elfogadva2ms316 KiB
36Elfogadva2ms380 KiB
37Elfogadva2ms316 KiB
38Elfogadva2ms316 KiB
39Elfogadva2ms316 KiB
40Elfogadva2ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva1ms656 KiB
43Elfogadva1ms372 KiB
44Elfogadva16ms424 KiB
45Elfogadva20ms316 KiB
46Elfogadva14ms416 KiB
47Elfogadva25ms420 KiB
48Elfogadva27ms500 KiB
49Elfogadva16ms316 KiB
50Elfogadva4ms416 KiB
51Elfogadva25ms416 KiB
52Elfogadva26ms420 KiB
53Időlimit túllépés1.077s508 KiB
54Elfogadva495ms440 KiB
55Időlimit túllépés1.098s388 KiB
56Időlimit túllépés1.1s316 KiB
57Időlimit túllépés1.078s316 KiB
58Időlimit túllépés1.082s316 KiB
59Időlimit túllépés1.1s316 KiB
60Elfogadva907ms436 KiB
61Időlimit túllépés1.088s316 KiB
62Elfogadva995ms316 KiB