189572025-11-13 10:53:08ubormaciElengedhetetlen kockákcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask222/22
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva3ms316 KiB
6Elfogadva2ms420 KiB
7Elfogadva2ms328 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms420 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva2ms328 KiB
subtask335/35
13Elfogadva2ms316 KiB
14Elfogadva2ms316 KiB
15Elfogadva3ms316 KiB
16Elfogadva2ms420 KiB
17Elfogadva2ms328 KiB
18Elfogadva2ms316 KiB
19Elfogadva2ms420 KiB
20Elfogadva2ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva2ms328 KiB
23Elfogadva20ms420 KiB
24Elfogadva26ms416 KiB
25Elfogadva18ms316 KiB
26Elfogadva28ms420 KiB
27Elfogadva29ms512 KiB
28Elfogadva17ms500 KiB
29Elfogadva6ms316 KiB
30Elfogadva28ms316 KiB
31Elfogadva29ms316 KiB
subtask40/43
32Elfogadva1ms316 KiB
33Elfogadva1ms508 KiB
34Elfogadva2ms316 KiB
35Elfogadva2ms316 KiB
36Elfogadva3ms316 KiB
37Elfogadva2ms420 KiB
38Elfogadva2ms328 KiB
39Elfogadva2ms316 KiB
40Elfogadva2ms420 KiB
41Elfogadva2ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva2ms328 KiB
44Elfogadva20ms420 KiB
45Elfogadva26ms416 KiB
46Elfogadva18ms316 KiB
47Elfogadva28ms420 KiB
48Elfogadva29ms512 KiB
49Elfogadva17ms500 KiB
50Elfogadva6ms316 KiB
51Elfogadva28ms316 KiB
52Elfogadva29ms316 KiB
53Időlimit túllépés1.08s316 KiB
54Elfogadva640ms508 KiB
55Időlimit túllépés1.1s316 KiB
56Időlimit túllépés1.1s316 KiB
57Időlimit túllépés1.08s316 KiB
58Időlimit túllépés1.08s316 KiB
59Időlimit túllépés1.082s316 KiB
60Időlimit túllépés1.054s316 KiB
61Időlimit túllépés1.082s316 KiB
62Időlimit túllépés1.088s316 KiB