제출 #1307249

#제출 시각아이디문제언어결과실행 시간메모리
1307249andreidumitracheBank (IZhO14_bank)C++20
44 / 100
1095 ms584 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 20; int a[MAXN + 1] , b[MAXN + 1] , c[MAXN + 1] , n , m , ans; void bkt( int pos ) { int i; if( pos == m + 1 ) { i = 1; //cout << c[1] << '\n'; while( i <= n && c[i] == a[i] ) i++; if( i == n + 1 ) ans = 1; return; } //cout << c[0] << ' ' << c[1] << ' ' << pos << ' ' << ans << ' ' << m << '\n'; if( ans == 1 ) return; for( i = 0 ; i <= n ; i++ ) if( c[i] < a[i] ) { c[i] += b[pos]; bkt( pos + 1 ); c[i] -= b[pos]; } } int main() { int i; cin >> n >> m; for( i = 1 ; i <= n ; i++ ) cin >> a[i]; a[0] = INT_MAX; for( i = 1 ; i <= m ; i++ ) cin >> b[i]; if( n > m ) cout << "NO\n"; else { bkt( 1 ); if( ans ) cout << "YES\n"; else cout << "NO\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...