Submission #582029

# Submission time Handle Problem Language Result Execution time Memory
582029 2022-06-23T09:43:15 Z MrDeboo Library (JOI18_library) C++17
Compilation error
0 ms 0 KB
#include <cstdio>
#include <vector>
#include <bits/stdc++.h>
#include "library.h"
using namespace std;
vector<pair<int,int>>vec;
int N,L,R,n;
int Slv(int x){
	vector<int>vct[n];
	for(auto &i:vec){
		if(i.first>=L&&i.second<=R){
			vct[i.first].push_back(i.second);
			vct[i.second].push_back(i.first);
		}
	}
	int ans=0;
	vector<int>bl(n);
	for(int i=0;i<n;i++){
		if(bl[i]||vct[i].empty())continue;
		int cnt=0;
		deque<int>dq={i};
		while(dq.size()){
			int a=dq.front();
			dq.pop_front();
			if(bl[a])continue;
			bl[a]=1;
			cnt++;
			for(auto &w:vct[a])dq.push_back(w);
		}
		ans++;
	}
	x-=ans;
	int cnt=0;
	for(int i=L;i<=R;i++){
		if(!bl[i])cnt++;
	}
	return (x!=cnt);
}
int Range(int l,int r){
	vector<int>v(n);
	for(int w=l;w<=r;w++)v[w]=1;
	L=l;
	R=r;
	return Slv(Query(v));
}
void Solve(int GGGG){
	n=GGGG;
	vector<int>res;
	if(n==1){
		res.push_back(1);
		answer(res);
		return;
	}
	vector<int>vct[n];
	N=exp2(ceil(log2(n)));
	for(int i=0;i<n;i++){
		while(vct[i].size()<2){
			int l=i+1,r=n-1,mid,f=0;
			while(l<=r){
				mid=(l+r)/2;
				if(Range(i,mid)){
					r=mid-1;
					f=mid;
				}else l=mid+1;
			}
			if(f==0)break;
			l=i;r=f-1;
			int g=0;
			while(l<=r){
				mid=(l+r)/2;
				if(Range(mid,f)){
					l=mid+1;
					g=mid;
				}else r=mid-1;
			}
			vec.push_back({g,f});
			vct[g].push_back(f);
			vct[f].push_back(g);
		}
	}
	deque<int>dq;
	for(int i=0;i<n&&dq.empty();i++){
		if(vct[i].size()==1)dq.push_back(i);
	}
	vector<bool>bl(n);
	while(dq.size()){
		int a=dq.front();
		dq.pop_front();
		if(bl[a])continue;
		bl[a]=1;
		res.push_back(a+1);
		for(auto &i:vct[a])dq.push_back(i);
	}
	Answer(res);
}

Compilation message

library.cpp: In function 'void Solve(int)':
library.cpp:51:3: error: 'answer' was not declared in this scope; did you mean 'Answer'?
   51 |   answer(res);
      |   ^~~~~~
      |   Answer