답안 #789267

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
789267 2023-07-21T08:44:07 Z ymm Abracadabra (CEOI22_abracadabra) C++17
10 / 100
3000 ms 50384 KB
#include <bits/stdc++.h>
#define Loop(x,l,r) for (ll x = (l); x < (r); ++x)
typedef long long ll;
typedef std::pair<int,int> pii;
using namespace std;

vector<int> shf(vector<int> vec)
{
	int n = vec.size();
	vector<int> ans;
	int p0 = 0, p1 = n/2;
	Loop (_,0,n) {
		if (p1 == n || (p0 < n/2 && vec[p0] < vec[p1]))
			ans.push_back(vec[p0++]);
		else
			ans.push_back(vec[p1++]);
	}
	return ans;
}

const int N = 1'000'010;
int ans[N];
vector<pii> Q[N];

int main()
{
	cin.tie(0) -> sync_with_stdio(false);
	int n, q;
	cin >> n >> q;
	vector<int> vec(n);
	//mt19937_64 rd(chrono::high_resolution_clock::now().time_since_epoch().count());
	//iota(vec.begin(), vec.end(), 0);
	//shuffle(vec.begin(), vec.end(), rd);
	for (int &x : vec)
		cin >> x;
	//vecs.push_back(vec);
	Loop (i,0,q) {
		int t, p;
		cin >> t >> p;
		--p;
		t = min(t, n);
		Q[t].push_back({p, i});
	}
	Loop (i,0,n) {
		for (auto [p, j] : Q[i])
			ans[j] = vec[p];
		//inplace_merge(vec.data(), vec.data()+n/2, vec.data()+n);//vec = shf(vec);
		vec = shf(vec);
	}
	for (auto [p, j] : Q[n])
		ans[j] = vec[p];
	Loop (i,0,q)
		cout << ans[i] << '\n';
}
# 결과 실행 시간 메모리 Grader output
1 Correct 169 ms 41808 KB Output is correct
2 Correct 185 ms 48096 KB Output is correct
3 Correct 167 ms 47516 KB Output is correct
4 Correct 162 ms 46100 KB Output is correct
5 Correct 186 ms 49728 KB Output is correct
6 Correct 161 ms 49160 KB Output is correct
7 Correct 176 ms 50384 KB Output is correct
8 Correct 163 ms 47896 KB Output is correct
9 Correct 165 ms 46688 KB Output is correct
10 Correct 161 ms 46624 KB Output is correct
11 Correct 157 ms 47056 KB Output is correct
12 Correct 156 ms 44400 KB Output is correct
13 Correct 160 ms 45768 KB Output is correct
14 Correct 170 ms 48520 KB Output is correct
15 Correct 168 ms 46316 KB Output is correct
16 Correct 16 ms 23832 KB Output is correct
17 Correct 154 ms 44644 KB Output is correct
18 Correct 156 ms 44548 KB Output is correct
19 Correct 12 ms 23804 KB Output is correct
20 Correct 12 ms 23812 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3058 ms 34964 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3038 ms 27980 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 169 ms 41808 KB Output is correct
2 Correct 185 ms 48096 KB Output is correct
3 Correct 167 ms 47516 KB Output is correct
4 Correct 162 ms 46100 KB Output is correct
5 Correct 186 ms 49728 KB Output is correct
6 Correct 161 ms 49160 KB Output is correct
7 Correct 176 ms 50384 KB Output is correct
8 Correct 163 ms 47896 KB Output is correct
9 Correct 165 ms 46688 KB Output is correct
10 Correct 161 ms 46624 KB Output is correct
11 Correct 157 ms 47056 KB Output is correct
12 Correct 156 ms 44400 KB Output is correct
13 Correct 160 ms 45768 KB Output is correct
14 Correct 170 ms 48520 KB Output is correct
15 Correct 168 ms 46316 KB Output is correct
16 Correct 16 ms 23832 KB Output is correct
17 Correct 154 ms 44644 KB Output is correct
18 Correct 156 ms 44548 KB Output is correct
19 Correct 12 ms 23804 KB Output is correct
20 Correct 12 ms 23812 KB Output is correct
21 Execution timed out 3058 ms 34964 KB Time limit exceeded
22 Halted 0 ms 0 KB -