제출 #444274

#제출 시각아이디문제언어결과실행 시간메모리
444274keta_tsimakuridzeICC (CEOI16_icc)C++14
컴파일 에러
0 ms0 KiB
#include "icc.h"
#include<bits/stdc++.h>
#define f first
#define s second
#define int long long
using namespace std;
const int N=2e5+5,mod=1e9+7;
int comp[N],fix[N],X,idx,n;
vector<pair<int,int> > edges;
vector<int> a,x,y,V[N];
int solve(){
	int l = 0, r = n-1, u;
	while(l<=r) {
		int mid = (l+r)/2; 
		vector<int> x,y;
		for(int i = 0; i<=mid; i++) {
			x.push_back(a[i]);
		} 
		for(int i = mid+1; i<n; i++) {
			if(comp[a[i]] != comp[a[mid]]) y.push_back(a[i]);
		}
		if(!y.size()) {
			r = mid - 1;
			continue;
		}
		bool f = query(x.size(),y.size(),x,y);
		if(f) {
			r = mid - 1; 
			u = a[mid];
		}
		else {
			l = mid + 1;
		}
	}
	return u;
}

void dfs(int u,int cur) {
	idx++;
	a.push_back(u);
	comp[u] = cur;
	fix[u] = 1;
	for(int i=0;i<V[u].size();i++) {
		if(!fix[V[u][i]]) dfs(V[u][i],cur);
	}
}
void run(int m){
	n = m;
	int lft = n - 1;
	X = -1;
	while(lft--){
		X++;
		for(int i=1;i<=n;i++) fix[i] = 0;
		int cur = 0;
		a.clear();
		idx = 0;
		for(int i=1;i<=n;i++) {
			if(!fix[i]) {
				dfs(i,++cur);
			}
		}		
		int l = 1, r = n-1,u = 0,v = 0;
		u = solve();
		reverse(a.begin(),a.end());
		v = solve();
		V[u].push_back(v);
		V[v].push_back(u);
		setRoad(u,v);	 
	
	
	}
}

컴파일 시 표준 에러 (stderr) 메시지

icc.cpp: In function 'long long int solve()':
icc.cpp:26:36: error: cannot convert 'std::vector<long long int>' to 'int*'
   26 |   bool f = query(x.size(),y.size(),x,y);
      |                                    ^
      |                                    |
      |                                    std::vector<long long int>
In file included from icc.cpp:1:
icc.h:10:30: note:   initializing argument 3 of 'int query(int, int, int*, int*)'
   10 | int query(int a, int b, int *A, int *B);
      |                         ~~~~~^
icc.cpp: In function 'void dfs(long long int, long long int)':
icc.cpp:43:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |  for(int i=0;i<V[u].size();i++) {
      |              ~^~~~~~~~~~~~
icc.cpp: In function 'void run(long long int)':
icc.cpp:62:7: warning: unused variable 'l' [-Wunused-variable]
   62 |   int l = 1, r = n-1,u = 0,v = 0;
      |       ^
icc.cpp:62:14: warning: unused variable 'r' [-Wunused-variable]
   62 |   int l = 1, r = n-1,u = 0,v = 0;
      |              ^