Submission #167956

#TimeUsernameProblemLanguageResultExecution timeMemory
167956juggernautBank (IZhO14_bank)C++14
0 / 100
5 ms1528 KiB
#include<bits/stdc++.h>
using namespace std;
bool dp[20][(1<<20)];
int n,i,a[20],m,b[20],mask,sum[(1<<20)],mx;
main(){
    for(i=0;i<(1<<20);i++)dp[0][i]=1;
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++)scanf("%lld",&a[i]);
    for(i=0;i<m;i++)scanf("%lld",&b[i]);
    mx=(1<<m)-1;
    for(mask=0;mask<=mx;mask++)
        for(i=0;i<m;i++)if(mask&(1<<i))sum[mask]+=b[i];
    for(i=1;i<=n;i++)
        for(mask=0;mask<=mx;mask++)
            if(sum[mask]==a[i]&&dp[i-1][(mask^mx)])dp[i][mask]=1;
    for(mask=0;mask<=mx;mask++)if(dp[n][mask]){
        puts("YES");
        return 0;
    }
    puts("NO");
}

Compilation message (stderr)

bank.cpp:5:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bank.cpp: In function 'int main()':
bank.cpp:8:40: warning: format '%lld' expects argument of type 'long long int*', but argument 2 has type 'int*' [-Wformat=]
     for(i=1;i<=n;i++)scanf("%lld",&a[i]);
                                   ~~~~~^
bank.cpp:9:39: warning: format '%lld' expects argument of type 'long long int*', but argument 2 has type 'int*' [-Wformat=]
     for(i=0;i<m;i++)scanf("%lld",&b[i]);
                                  ~~~~~^
bank.cpp:7:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
bank.cpp:8: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:9: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...