Submission #1195765


Source Code Expand

#include<bits/stdc++.h>
 
using namespace std;
 
#define pb push_back
#define mp make_pair
#define F first
#define S second
 
#define fo(i, n) for(int i = 1; i <= n; ++i)
#define rep(i, a, b) for(int (i) = (a); (i) < (b); ++(i))
 
typedef long long ll;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
 
const int N = 200200;
const int mod = 1e9 + 7;
const ll INF = 1e18;
 
 
int main()
{
	ios::sync_with_stdio(0); cin.tie(0);
	ll n;
	cin>>n;
	if(n==1)
	{
		cout<<"2\n1 1";
		return 0;
	}
	ll nc=n;
	ll step=0;
	while(nc)
	{
		nc>>=1;
		step++;
	}	
	step--;
	vector<int> a;
	for(int i=1;i<=step;++i)
		a.pb(i);
	for(int i=1;i<=step;++i)
		a.pb(i);
	a.pb(step+1);
	a.pb(step+1);
	int sz=step+1;
	for(int i=step-1;i>=1;--i)
	{
		vector<int>b;
		if((n >> i)&1)
		{
			sz++;
			int f=1;
			for(int j=0;j<a.size();++j)
			{
				b.pb(a[j]);
				if(a[j]==i&&f)
					f--,b.pb(sz);
			}
			b.pb(sz);
			a=b;
			b.clear();
			b.shrink_to_fit();
		}
	}
	if(n%2==1)
		a.pb(sz+1),a.pb(sz+1);
	cout<<a.size()<<"\n";
	for(int x:a)
		cout<<x<<' ';
	return 0;	
}

Submission Info

Submission Time
Task C - Tautonym Puzzle
User Speedster
Language C++14 (GCC 5.4.1)
Score 1000
Code Size 1124 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 2
AC × 32
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
All 00_example_01.txt, 00_example_02.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 1 ms 256 KB
06.txt AC 1 ms 256 KB
07.txt AC 1 ms 256 KB
08.txt AC 1 ms 256 KB
09.txt AC 1 ms 256 KB
10.txt AC 1 ms 256 KB
11.txt AC 1 ms 256 KB
12.txt AC 1 ms 256 KB
13.txt AC 1 ms 256 KB
14.txt AC 1 ms 256 KB
15.txt AC 1 ms 256 KB
16.txt AC 1 ms 256 KB
17.txt AC 1 ms 256 KB
18.txt AC 1 ms 256 KB
19.txt AC 1 ms 256 KB
20.txt AC 1 ms 256 KB
21.txt AC 1 ms 256 KB
22.txt AC 1 ms 256 KB
23.txt AC 1 ms 256 KB
24.txt AC 1 ms 256 KB
25.txt AC 1 ms 256 KB
26.txt AC 1 ms 256 KB
27.txt AC 1 ms 256 KB
28.txt AC 1 ms 256 KB
29.txt AC 1 ms 256 KB
30.txt AC 1 ms 256 KB