Submission #375412

#TimeUsernameProblemLanguageResultExecution timeMemory
375412SeanliuMeetings (JOI19_meetings)C++14
0 / 100
114 ms668 KiB
#include "meetings.h"
#include <iostream>
#include <vector>
using namespace std;

const int maxN = 2e3 + 326;
vector<int> adj[maxN];

void solve(vector<int> vec){
	//cout << "vec = "; for(int x : vec) cout << x << " "; cout << endl;
	if(vec.size() == 1) return;
	if(vec.size() == 2){
		//cout << "Bridging: " << vec[0] << ", " << vec[1] << endl;
		Bridge(vec[0], vec[1]);
		return;
	}
	int cur = vec[1];
	for(int i = 2; i < vec.size(); i++){
		int res = Query(vec[0], cur, vec[i]);
		if(res == vec[i]) cur = res;
	}
	//cout << "Bridging: " << vec[0] << ", " << cur << endl;
	vector<int> l, r;
	l.push_back(vec[0]);
	r.push_back(cur);
	for(int i = 1; i < vec.size(); i++) if(vec[i] != cur){
		int res = Query(vec[0], cur, vec[i]);
		if(res == vec[0]) l.push_back(vec[i]);
		else r.push_back(vec[i]);
	}
	solve(l);
	solve(r);
	Bridge(vec[0], cur);
}

void Solve(int N){
	vector<int> jizz;
	for(int i = 0; i < N; i++) jizz.push_back(i);
	solve(jizz);
}

Compilation message (stderr)

meetings.cpp: In function 'void solve(std::vector<int>)':
meetings.cpp:18:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |  for(int i = 2; i < vec.size(); i++){
      |                 ~~^~~~~~~~~~~~
meetings.cpp:26:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |  for(int i = 1; i < vec.size(); i++) if(vec[i] != cur){
      |                 ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...