Submission #892457

#TimeUsernameProblemLanguageResultExecution timeMemory
892457I_FloPPed21Bank (IZhO14_bank)C++14
71 / 100
362 ms262144 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #pragma GCC optimization ("unroll-loops") int n, m ; int v[ 22 ], b [ 22 ] ; vector<int> posib [ 22 ] ; vector<int> posixor[ 22 ] ; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m ; for ( int i = 1; i <= n ; i ++ ) { cin >> v[ i ] ; } for ( int i = 1; i <= m ; i ++ ) cin >> b[ i ] ; posixor [ 1 ] .push_back(0); for ( int i = 1 ; i <= n ; i ++ ) { for ( int j = 0 ; j < ( 1 << m ) ; j ++ ) { int sum = 0 ; for ( int f = 1 ; f <= m ; f ++ ) { if ( j & ( 1 << ( f - 1 ) ) ) sum += b[ f ] ; } if ( sum == v[ i ] ) { posib [ i ] .push_back( j ) ; } } if ( posib[ i ] .size() == 0 || posixor [ i ] .size() == 0 ) { cout << "NO" << '\n'; return 0 ; } for ( int d = 0 ; d < posixor [ i ] .size() ; d ++ ) { long long j = posixor [ i ][ d ] ; for (int k = 0 ; k < posib [ i ] .size() ; k ++ ) { if ( (( j ) & ( posib [ i ][ k ] )) == 0 ) { if ( i == n ) { cout << "YES" << '\n'; return 0 ; } int val = (posib [ i ][ k ] | ( j )); posixor [ i + 1] .push_back(val); } } } posixor[i].clear(); posib[i].clear(); } cout << "NO" << '\n'; return 0; }

Compilation message (stderr)

bank.cpp:5: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    5 | #pragma GCC optimization ("unroll-loops")
      | 
bank.cpp: In function 'int main()':
bank.cpp:55:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |         for ( int d = 0 ; d < posixor [ i ] .size() ; d ++ )
      |                           ~~^~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:59:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |             for  (int k = 0 ; k < posib [ i ] .size() ; k ++ )
      |                               ~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...