제출 #887337

#제출 시각아이디문제언어결과실행 시간메모리
887337vjudge1Swap (BOI16_swap)C++17
0 / 100
47 ms348 KiB
// in the name of God
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define fast() ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ff first
#define ss second
#define pb(x) push_back(x)
#define all(x) x.begin(), x.end()
#define mk make_pair
#define ppb pop_back
#define endl '\n'
#define pii pair<int, int>
#define sz(x) (int)x.size()
#pragma GCC optimize("Ofast")
#pragma GCC optimize("O4")
#pragma GCC optimize("unroll-loops")
//#pragma GCC target("avx2")
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int mod = 1e9 + 7, maxn = 1e5 + 10, inf = 1e9 + 1, lg = 25, pp = 4447, modd = 1e9 + 9;

signed main(){
	fast();
	int n; cin >> n;
	vector<int> a, b;
	for(int i = 0; i < n; ++i){
		int h; cin >> h;
		a.pb(h);
	}
	b = a;
	for(int i = 1; i < (1 << n); ++i){
		vector<int> bb; bb = b;
		for(int j = 1; j < n; ++j){
			if(i & (i << j)){
				int m = j / 2;
				swap(bb[j], bb[m]);
			}
		}
		for(int i = 0; i < n; ++i){
			if(bb[i] != a[i] && bb[i] < a[i]){
				a = bb;
				break;
			}
			else if(bb[i] != a[i] && bb[i] > a[i]) break;
		}
	}
	for(int i : a) cout << i << " ";
}
// Running from the daylight...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...