제출 #168308

#제출 시각아이디문제언어결과실행 시간메모리
168308juggernautBank (IZhO14_bank)C++14
25 / 100
4 ms632 KiB
#include<bits/stdc++.h> #define int long long int using namespace std; int n,m,a[21],b[20],mask,i,sum[(1<<20)],start; bool dp[21][(1<<20)]; vector<vector<int>>g(21); void go(int pos,int mask){ //if(dp[pos][mask])return; if(clock()-start>990){ puts("NO"); exit(0); } dp[pos][mask]=1; if(pos==n+1){ puts("YES"); exit(0); } for(int to:g[pos]) if((mask&to)==0)go(pos+1,mask|to); } main(){ start=clock(); scanf("%lld%lld",&n,&m); for(i=1;i<=n;i++)scanf("%lld",&a[i]); for(i=0;i<m;i++)scanf("%lld",&b[i]); for(mask=0;mask<(1<<m);mask++) for(i=0;i<m;i++)if(mask&(1<<i))sum[mask]+=b[i]; g[0].push_back(0); for(i=1;i<=n;i++) for(mask=0;mask<(1<<m);mask++) if(sum[mask]==a[i])g[i].push_back(mask); go(0,0); puts("NO"); }

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

bank.cpp:21:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bank.cpp: In function 'int main()':
bank.cpp:23:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld%lld",&n,&m);
     ~~~~~^~~~~~~~~~~~~~~~~~
bank.cpp:24:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(i=1;i<=n;i++)scanf("%lld",&a[i]);
                      ~~~~~^~~~~~~~~~~~~~
bank.cpp:25:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(i=0;i<m;i++)scanf("%lld",&b[i]);
                     ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...