Submission #1034960

#TimeUsernameProblemLanguageResultExecution timeMemory
1034960pccAbracadabra (CEOI22_abracadabra)C++17
0 / 100
3062 ms6684 KiB
#include <bits/stdc++.h>
using namespace std;

#define pii pair<int,int>
#define fs first
#define sc second

bool same(vector<int>&a,vector<int>&b){
	assert(a.size() == b.size());
	for(int i = 0;i<a.size();i++){
		if(a[i] != b[i])return false;
	}
	return true;
}

vector<int> shuf(vector<int> &v){
	vector<int> vl,vr;
	int pl = 0,pr = 0;
	for(int i = 0;i<v.size();i++){
		if(i+i<v.size())vl.push_back(v[i]);
		else vr.push_back(v[i]);
	}
	vector<int> re;
	while(pl<vl.size()&&pr<vr.size()){
		if(vl[pl]<vr[pr])re.push_back(vl[pl++]);
		else re.push_back(vr[pr++]);
	}
	while(pl<vl.size())re.push_back(vl[pl++]);
	while(pr<vr.size())re.push_back(vr[pr++]);
	return re;
}

int N,Q;
vector<int> v;
int epo;

int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>N>>Q;
	v.resize(N);
	for(int i = 0;i<N;i++)cin>>v[i];
	epo = 0;
	auto vv = v;
	auto vvv = vv;
	while(!same(vvv = shuf(vv),vv)){
		vv = vvv;
		epo++;
	}
	cerr<<"EPO: "<<epo<<endl;
	while(Q--){
		int t,id;
		cin>>t>>id;
		auto pre = v,now = v;
		while(t--&&!same(now,pre = shuf(now))){
			pre.swap(now);
		}
		cout<<now[id-1]<<'\n';
	}
	return 0;
}

Compilation message (stderr)

Main.cpp: In function 'bool same(std::vector<int>&, std::vector<int>&)':
Main.cpp:10:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |  for(int i = 0;i<a.size();i++){
      |                ~^~~~~~~~~
Main.cpp: In function 'std::vector<int> shuf(std::vector<int>&)':
Main.cpp:19:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |  for(int i = 0;i<v.size();i++){
      |                ~^~~~~~~~~
Main.cpp:20:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   if(i+i<v.size())vl.push_back(v[i]);
      |      ~~~^~~~~~~~~
Main.cpp:24:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |  while(pl<vl.size()&&pr<vr.size()){
      |        ~~^~~~~~~~~~
Main.cpp:24:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |  while(pl<vl.size()&&pr<vr.size()){
      |                      ~~^~~~~~~~~~
Main.cpp:28:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |  while(pl<vl.size())re.push_back(vl[pl++]);
      |        ~~^~~~~~~~~~
Main.cpp:29:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |  while(pr<vr.size())re.push_back(vr[pr++]);
      |        ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...