Submission #1326566

#TimeUsernameProblemLanguageResultExecution timeMemory
1326566ayxanesedzade10Longest beautiful sequence (IZhO17_subsequence)C++20
23 / 100
6092 ms3488 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define all(x) x.begin(),x.end() #define ld long double using namespace std; int main() { ll n;cin>>n; ll a[n+5],k[n+5]; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ cin>>k[i]; } ll dp[n+5]; dp[0]=0; dp[1]=1; ll mx=1,par[n+5],ind=1; par[1]=0; for(int i=2;i<=n;i++){ dp[i]=1; par[i]=0; for(int j=1;j<i;j++){ ll cnt=0; ll c=a[i]&a[j]; for(int bt=0;(1<<bt)<=a[i];bt++){ if(c&(1<<bt)) cnt++; } if(cnt==k[i]){ if(dp[j]+1>dp[i]){ dp[i]=dp[j]+1;par[i]=j; } } } if(dp[i]>mx){ mx=dp[i];ind=i; } } vector<ll>v; while(ind!=0){ v.pb(ind);ind=par[ind]; } cout<<v.size()<<endl; reverse(all(v)); for(auto to:v) cout<<to<<" "; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...