Submission #482038

#TimeUsernameProblemLanguageResultExecution timeMemory
482038RedhoodFootball (info1cup20_football)C++14
0 / 100
2074 ms1048580 KiB
#include<bits/stdc++.h> #define pb push_back #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size() #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> #define fi first #define se second using namespace __gnu_pbds; using namespace std; using namespace __gnu_cxx; using namespace std; typedef long long ll; vector < map < vector < int > , int > > state; int rek(vector < int > S , int k){ if(state[k].find(S)!=state[k].end()){ return state[k][S]; } ll s=0; for(auto &i : S)s+=i; if(s==0){ state[k][S] = 1; return 1; } bool win = 0; for(int i = 0; i < sz(S); ++i){ for(int x = 1; x <= min(k , S[i]); ++x){ S[i] -= x; if(!rek(S,x)){ win = 1; break; } S[i] += x; } } state[k][S] = win; return win; } int stupid(vector < int > S, int k){ if(k == 1){ int xr = 0; for(auto &i : S) xr ^= i; if(xr == 0) return 1; return 0; } state.clear(); state.resize(k + 1); return rek(S , k); } signed slv(vector < int > S , int k) { using ll = long long ; bool good = 0; if(sz(S) == 1){ int N = S[0]; ll cur = 1; bool good = 0; while(cur <= k){ if(N % 2 == 0){ good = 1; break; } N = (N >> 1) + 1; cur <<= 1; } return good; } assert(false); } signed main(){ ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); int t; cin >> t; while(t--){ int n , k; cin >> n >> k; vector < int > S(n); for(auto &i : S) cin >> i; cout << stupid(S , k); } return 0; }

Compilation message (stderr)

football.cpp: In function 'int slv(std::vector<int>, int)':
football.cpp:65:10: warning: unused variable 'good' [-Wunused-variable]
   65 |     bool good = 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...