제출 #1279589

#제출 시각아이디문제언어결과실행 시간메모리
1279589hanguyendanghuyBank (IZhO14_bank)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h> using namespace std; #define ll int #define pb push_back #define fi first #define se second constexpr ll MAXN=2e6+5,MAXV=1e5,MOD=1e9+7; ll n,m,i,j,p,k,ans,dem,st,en,a[MAXN],b[MAXN],giatri[MAXN],mark[MAXN]; vector<ll> cnt[1005]; bool dp[2][MAXN]; int main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); freopen("test.inp","r",stdin); freopen("test.out","w",stdout); cin>>n>>m; for(i=1;i<=n;i++) cin>>a[i]; for(i=0;i<m;i++) cin>>b[i]; for(ll mask=1;mask<(1<<m);mask++){ ll dem=0; for(j=0;j<m;j++) if((mask>>j)&1) dem+=b[j]; cnt[dem].pb(mask); } dp[1][0]=true; for(i=1;i<=n;i++){ for(ll mask=0;mask<(1<<m);mask++){ dp[(i&1)^1][mask]=false; } for(ll mask=0;mask<(1<<m);mask++){ if(!dp[i&1][mask]) continue; for(ll x:cnt[a[i]]) if((x|mask)==(x^mask)) dp[(i&1)^1][(x|mask)]=true; } } for(ll mask=1;mask<(1<<m);mask++){ if(dp[(n-1)&1][mask]){ cout<<"YES"; return 0; } } cout<<"NO"; }

컴파일 시 표준 에러 (stderr) 메시지

bank.cpp: In function 'int main()':
bank.cpp:14:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     freopen("test.inp","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
bank.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     freopen("test.out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...