제출 #850105

#제출 시각아이디문제언어결과실행 시간메모리
850105c2zi6Longest beautiful sequence (IZhO17_subsequence)C++14
23 / 100
6097 ms2644 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; void solve() { int n; cin >> n; vector<int> a(n); vector<int> k(n); for (int& x : a) cin >> x; for (int& x : k) cin >> x; vector<int> dp(n); vector<int> prev(n); int globans = 0; for (int i = 0; i < n; i++) { dp[i] = 1; prev[i] = i; for (int j = 0; j < i; j++) { if (__builtin_popcount(a[i] & a[j]) == k[i]) { if (dp[j]+1 > dp[i]) { dp[i] = dp[j]+1; prev[i] = j; } } } if (dp[i] > dp[globans]) globans = i; } cout << dp[globans] << endl; int x = globans; vector<int> ans; while (true) { ans.push_back(x+1); if (x == prev[x]) break; x = prev[x]; } reverse(ans.begin(), ans.end()); for (int x : ans) cout << x << " "; cout << endl; } int main() { int t = 1; //cin >> t; while (t--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...