# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
74053 |
2018-08-29T16:47:55 Z |
vex |
Zalmoxis (BOI18_zalmoxis) |
C++14 |
|
313 ms |
16492 KB |
#include <bits/stdc++.h>
#define maxn 1000005
using namespace std;
int n,k;
int a[maxn];
vector<int>sol;
int s[maxn];
bool bio[maxn];
void precalc()
{
s[0]=0;
for(int i=1;i<=n;i++)s[i]=s[i-1]+(1<<a[i]);
}
void solve(int l,int r,int x)
{
if(l>r)
{
sol.push_back(x);
bio[sol.size()-1]=false;
return;
}
if(l==r)
{
int is=1<<x;
sol.push_back(a[l]);
bio[sol.size()-1]=true;
is-=1<<a[l];
int br=0;
while(is>0)
{
if(is%2)
{
sol.push_back(br);
bio[sol.size()-1]=false;
}
br++;
is/=2;
}
return;
}
int left=l;
int right=r;
int br=1<<(x-1);
int t=l;
while(left<=right)
{
int mid=(left+right)/2;
if(s[mid]-s[l-1]>br)right=mid-1;
else {
t=mid;
left=mid+1;
}
}
solve(l,t,x-1);
solve(t+1,r,x-1);
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];
precalc();
solve(1,n,30);
int sz=sol.size();
int d=n+k-sz;
int mmm=30;
for(int i=0;i<sz;i++)
{
if(d<=0 || bio[i])cout<<sol[i]<<" ";
else{
while((1<<mmm)-1>d)mmm--;
if((1<<sol[i])-1>d)
{
int sd=d;
d-=1<<mmm;
d++;
for(int j=0;j<2*d;j++)cout<<sol[i]-mmm-1<<" ";
for(int j=2*d;j<sd+1;j++)cout<<sol[i]-mmm<<" ";
}
else {
for(int j=0;j<(1<<sol[i]);j++)cout<<"0 ";
d-=1<<sol[i];
d++;
}
}
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
232 ms |
15200 KB |
Output is correct |
2 |
Correct |
203 ms |
15324 KB |
Output is correct |
3 |
Correct |
208 ms |
15440 KB |
Output is correct |
4 |
Correct |
193 ms |
15440 KB |
Output is correct |
5 |
Correct |
199 ms |
15516 KB |
Output is correct |
6 |
Correct |
288 ms |
15540 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
211 ms |
15540 KB |
Expected EOF |
2 |
Incorrect |
206 ms |
15856 KB |
Expected EOF |
3 |
Incorrect |
215 ms |
15856 KB |
Expected EOF |
4 |
Incorrect |
199 ms |
15856 KB |
Expected EOF |
5 |
Incorrect |
307 ms |
15856 KB |
Expected EOF |
6 |
Incorrect |
226 ms |
15856 KB |
Expected EOF |
7 |
Incorrect |
313 ms |
15856 KB |
Expected EOF |
8 |
Incorrect |
252 ms |
15856 KB |
Expected EOF |
9 |
Incorrect |
223 ms |
16492 KB |
Expected EOF |
10 |
Incorrect |
116 ms |
16492 KB |
Expected EOF |
11 |
Incorrect |
166 ms |
16492 KB |
Expected EOF |
12 |
Incorrect |
79 ms |
16492 KB |
Expected EOF |
13 |
Incorrect |
73 ms |
16492 KB |
Expected EOF |
14 |
Incorrect |
86 ms |
16492 KB |
Expected EOF |