Submission #1001707

#TimeUsernameProblemLanguageResultExecution timeMemory
1001707concacBank (IZhO14_bank)C++17
0 / 100
1 ms604 KiB
#include <bits/stdc++.h> #include<unordered_map> #define PI acos(-1.0) #define pll pair<ll, ll> #define ll long long #define ld long double #define endl "\n" #define pb push_back #define ff first #define ss second #define ins insert #define pll2 pair<ll,pair<ll,ll>> #define bit(i,k) ((k>>i)&1) #define pii pair<int,int> #define int long long using namespace std; const long long mod = 998244353; const ll inf = 1e9; const ll maxN = (1<<20)+5; ll a[20],b[20]; pll dp[maxN]; void solve() { ll n,m; cin>>n>>m; dp[0]={-1,a[0]}; for(int i=0;i<(1<<m);i++){dp[i]={-1,0};} ll idx; for(int mask=0;mask<(1<<m);mask++){ for(int i=0;i<m;i++){ if(!bit(i,mask)){ ll nmask=mask^(1<<i); pll here=dp[mask]; if(here.ff==n-1)continue; if(a[here.ff+1]-here.ss>=b[i]){ dp[nmask]=max(dp[nmask],{here.ff,here.ss+b[i]}); } if(dp[nmask].ss==b[dp[nmask].ff+1]){ dp[nmask]={dp[nmask].ff+1,0}; } } } } for(int mask=0;mask<(1<<m);mask++){ // cout<<dp[mask].ff<<" "<<dp[mask].ss<<'\n'; if(dp[mask].ff==n-1){ // cout<<mask<<'\n'; cout<<"YES\n";return;} } cout<<"NO\n"; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("cover.inp", "r", stdin); // freopen("cover.out", "w", stdout); ll nhim = 1; // cin >> nhim; // cout<<nhim<<'\n'; while (nhim--) { solve(); } }

Compilation message (stderr)

bank.cpp: In function 'void solve()':
bank.cpp:28:8: warning: unused variable 'idx' [-Wunused-variable]
   28 |     ll idx;
      |        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...