Submission #85823

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
858232018-11-21 17:12:23ToadDaveskiLongest beautiful sequence (IZhO17_subsequence)C++11
100 / 100
4664 ms228108 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a[100001],k[100001],kolb[(1<<11)],dp[21][(1<<11)][(1<<11)],pr[100001],nom[21][(1<<11)][(1<<11)];
deque <ll> answer;
int main()
{
ll n,m,i,j,fin=-1,mdp=-1;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
cin>>k[i];
for(i=1;i<=(1<<10);i++)
kolb[i]= __builtin_popcount(i);
for(i=1;i<=n;i++)
{
ll x=(a[i]>>10);
ll y=a[i]-(x<<10);
pr[i]=i;
ll ans=1;
for(j=0;j<=(1<<10);j++)
{
ll ob=kolb[y&j];
if (ob<=k[i] && k[i]-ob<=10 && dp[k[i]-ob][j][x]+1>ans)
{
//cout<<i<<"="<<j<<" "<<x<<" "<<nom[k[i]-ob][j][x]<<" "<<dp[k[i]-ob][j][x]<<" ";
ans=dp[k[i]-ob][j][x]+1;
pr[i]=nom[k[i]-ob][j][x];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

subsequence.cpp: In function 'int main()':
subsequence.cpp:8:10: warning: unused variable 'm' [-Wunused-variable]
     ll n,m,i,j,fin=-1,mdp=-1;
          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...