Submission #1205146

#TimeUsernameProblemLanguageResultExecution timeMemory
1205146al-fattahBank (IZhO14_bank)C++20
19 / 100
69 ms328 KiB
/* In the name of Allah */ #include <bits/stdc++.h> #define ll long long #define llu unsigned long long #define ld long double #define endl "\n" using namespace std; /* Inshaallah */ using namespace std; const ll val = 1e5 + 5, mod = 998244353; ll sum[8 * val], maxsum[8 * val], pref[8 * val], suf[8 * val]; const ll BLOCK_SIZE = 710; ll dp[2 * val], q = 0; vector<int> vc; ll binpow(ll x , ll n) { ll a; cin>>a; } /* BBBBBLLLLLLLOOOOOOOCCCCCCKKKKK void build() { ll blockIndex = -1, mn = 1e9; for (int i = 0; i < a; i++) { if (i % BLOCK_SIZE == 0) { if(i != 0) { block[blockIndex] = mn; } mn = 1e9; blockIndex ++; } mn = min(mn, arr[i]); } } void update(ll index, ll value) { ll blockIndex = index / BLOCK_SIZE, mn = 1e9; arr[index] = value; for(ll i = blockIndex * BLOCK_SIZE; i < (blockIndex + 1) * BLOCK_SIZE; i ++) { mn = min(mn, arr[i]); block[blockIndex] = mn; } } long long query(ll l, ll r) { long long mn = 1e9; ll startBlock = l / BLOCK_SIZE; ll endBlock = r / BLOCK_SIZE; if (startBlock == endBlock) { for (ll i = l; i <= r; i++) { mn = min(mn, arr[i]); } } else { for (ll i = l; i < (startBlock + 1) * BLOCK_SIZE; i++) { mn = min(mn, arr[i]); } for (ll i = startBlock + 1; i < endBlock; i ++) { mn = min(mn, block[i]); } for (ll i = endBlock * BLOCK_SIZE; i <= r; i ++) { mn = min(mn, arr[i]); } } return mn; } MMMMMMMMMMMOOOOOOOUUUUUU void add(ll x) { cnt = cnt - (mp[arr[x]] * mp[arr[x]] * arr[x]); mp[arr[x]] ++; cnt = cnt + (mp[arr[x]] * mp[arr[x]] * arr[x]); } void del(ll x) { cnt = cnt - (mp[arr[x]]*mp[arr[x]]*arr[x]); mp[arr[x]] --; cnt = cnt + (mp[arr[x]]*mp[arr[x]]*arr[x]); } */ ll get(ll i, ll l, ll r, ll lx, ll rx) { ll mid = (l + r) / 2; if(l >= lx and r <= rx) { return sum[i]; } else if (r < lx or l > rx) { return 0; } return get(2 * i, l, mid, lx, rx) + get(2 * i + 1, mid + 1, r, lx, rx); } void push(int i, int x) { sum[i] = x; } void sett(int i) { sum[i] = sum[2 * i] + sum[2 * i + 1]; } void upd(ll i, ll l, ll r, ll lx, ll rx, ll x) { if(lx <= l and rx >= r) { push(i, x); return; } if(lx > r or rx < l) { return; } ll mid = (l + r) / 2; upd(2 * i, l, mid, lx, rx, x); upd(2 * i + 1, mid + 1, r, lx, rx, x); sett(i); } ll ar[2000]; void solve() { int a, b; cin >> a >> b; int l = (1 << b); int ar[a], br[b]; cin >> ar[0]; for(int j = 0; j < b; j ++) { cin >> br[j]; } for(int i = 0; i < l; i ++) { int s = 0; for(int j = 0; j < b; j ++) { if((i & (1 << j)) != 0) { s = s + br[j]; } } if(s == ar[0]) { cout << "YES" << endl; return; } } cout << "NO" << endl; } int main() { int t = 1; ///cin >> t; while(t --) { solve(); } } /* Alhamdullilah */

Compilation message (stderr)

bank.cpp: In function 'long long int binpow(long long int, long long int)':
bank.cpp:34:1: warning: no return statement in function returning non-void [-Wreturn-type]
   34 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...