Submission #171004

#TimeUsernameProblemLanguageResultExecution timeMemory
171004beksultan04Bank (IZhO14_bank)C++14
71 / 100
1074 ms4600 KiB
#include <bits/stdc++.h> using namespace std; #define fr first #define sc second #define pb push_back #define mk make_pair #define OK puts("OK"); #define sz(s) (int)s.size() #define pii pair<int,int> #define all(s) s.begin(), s.end() #define allr(s) s.rbegin(), s.rend() #define rep(i,n) for (i=0;i<(n);++i) #define rep1(i,n) for (i=1;i<=(n);++i) #define ret return #define nemeshay ios::sync_with_stdio(0),cin.tie(0); const int N=30,INF=1e9+7; int a[N],b[N],n,m,flag=0,mp[(1<<21)]; vector <int> v[N]; int sum(int a){ int i,c=0; for (i=0;(1<<i)<=a;++i) if ((a&(1<<i))) c+=b[i]; ret c; } void rec(int s,int j){ if (j==n){ cout <<"YES"; exit(0); } int i; if (v[j].empty()){ cout <<"NO"; exit(0); } for (i=0;i<v[j].size();++i){ int x=v[j][i]; if (!(s&x)) rec((s|x),j+1); } } main(){ int i,c=1,j; cin>>n>>m; rep(i,n)scanf("%d",&a[i]); rep(i,m)scanf("%d",&b[i]); for (i=1;i<(1<<m);++i){ int x=sum(i); mp[i]=x; for (j=0;j<n;++j) if (x==a[j]) v[j].pb(i); } for (i=0;i<v[0].size();++i){ int x=v[0][i]; rec(x,1); } cout <<"NO"; }

Compilation message (stderr)

bank.cpp: In function 'void rec(int, int)':
bank.cpp:38:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v[j].size();++i){
              ~^~~~~~~~~~~~
bank.cpp: At global scope:
bank.cpp:47:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bank.cpp: In function 'int main()':
bank.cpp:60:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v[0].size();++i){
              ~^~~~~~~~~~~~
bank.cpp:48:11: warning: unused variable 'c' [-Wunused-variable]
     int i,c=1,j;
           ^
bank.cpp:50:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     rep(i,n)scanf("%d",&a[i]);
             ~~~~~^~~~~~~~~~~~
bank.cpp:51:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     rep(i,m)scanf("%d",&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...