제출 #1311636

#제출 시각아이디문제언어결과실행 시간메모리
1311636PlayVoltz팀들 (IOI15_teams)C++20
컴파일 에러
0 ms0 KiB
#define pii pair<int,int>
#define mp make_pair
#define pb push_back
#define fi first
#define se second

int n;
vector<vector<int> > vect;

struct node{
	int s, e, m;
	vector<int> val;
	node *l, *r;
	
	node(int S, int E){
		s = S, e = E, m = (s+e)/2;
		if (s!=e){
			l = new node(s, m);
			r = new node(m+1, e);
			merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
		}
		else val=vect[s], sort(val.begin(), val.end());
	}
	int query(int left, int right, int v){
		if (left>right)return 0;
		if (s==left && e==right)return val.size()-(lower_bound(val.begin(), val.end(), v)-val.begin());
		if (right<=m)return l->query(left, right, v);
		else if (left>m)return r->query(left, right, v);
		else return l->query(left, m, v)+r->query(m+1, right, v);
	}
}*st;

void init(int N, int A[], int B[]){
	n=N;
	vect.resize(n+1);
	for (int i=0; i<n; ++i)vect[A[i]].pb(B[i]);
	st = new node(1, n);
}

int can(int m, int ord[]){
	sort(ord, ord+m);
	int extra=0;
	for (int i=0, prev=0; i<m; ++i){
		if (i!=m-1){
			int low=prev, high=ord[i]+1, res=0;
			while (low+1<high){
				int mid=(low+high)/2;
				if (st->query(prev+1, mid, ord[i])<ord[i]+extra)low=mid, res=st->query(prev+1, mid, ord[i]);
				else high=mid;
			}
			if (low==ord[i])return 0;
			extra=extra+ord[i]-res;
			extra=max(0, extra-st->query(low+1, low+1, ord[i])+st->query(low+1, low+1, ord[i+1]));
			prev=low;
		}
		else{
			if (st->query(prev+1, ord[i], ord[i])<ord[i]+extra)return 0;
		}
	}
	return 1;
}

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

teams.cpp:8:8: error: 'vector' was not declared in this scope
    8 | vector<vector<int> > vect;
      |        ^~~~~~
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:8: error: 'vector' was not declared in this scope
teams.cpp:8:1: error: 'vector' does not name a type
    8 | vector<vector<int> > vect;
      | ^~~~~~
teams.cpp:12:9: error: 'vector' does not name a type
   12 |         vector<int> val;
      |         ^~~~~~
teams.cpp: In constructor 'node::node(int, int)':
teams.cpp:20:34: error: 'struct node' has no member named 'val'
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                  ^~~
teams.cpp:20:50: error: 'struct node' has no member named 'val'
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                                  ^~~
teams.cpp:20:64: error: 'struct node' has no member named 'val'
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                                                ^~~
teams.cpp:20:80: error: 'struct node' has no member named 'val'
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                                                                ^~~
teams.cpp:20:105: error: 'val' was not declared in this scope
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                                                                                         ^~~
teams.cpp:20:91: error: 'back_inserter' was not declared in this scope
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                                                                                           ^~~~~~~~~~~~~
teams.cpp:20:25: error: 'merge' was not declared in this scope
   20 |                         merge(l->val.begin(), l->val.end(), r->val.begin(), r->val.end(), back_inserter(val));
      |                         ^~~~~
teams.cpp:22:22: error: 'val' was not declared in this scope
   22 |                 else val=vect[s], sort(val.begin(), val.end());
      |                      ^~~
teams.cpp:22:26: error: 'vect' was not declared in this scope
   22 |                 else val=vect[s], sort(val.begin(), val.end());
      |                          ^~~~
teams.cpp:22:35: error: 'sort' was not declared in this scope; did you mean 'short'?
   22 |                 else val=vect[s], sort(val.begin(), val.end());
      |                                   ^~~~
      |                                   short
teams.cpp: In member function 'int node::query(int, int, int)':
teams.cpp:26:48: error: 'val' was not declared in this scope
   26 |                 if (s==left && e==right)return val.size()-(lower_bound(val.begin(), val.end(), v)-val.begin());
      |                                                ^~~
teams.cpp:26:60: error: 'lower_bound' was not declared in this scope
   26 |                 if (s==left && e==right)return val.size()-(lower_bound(val.begin(), val.end(), v)-val.begin());
      |                                                            ^~~~~~~~~~~
teams.cpp: In function 'void init(int, int*, int*)':
teams.cpp:35:9: error: 'vect' was not declared in this scope
   35 |         vect.resize(n+1);
      |         ^~~~
teams.cpp: In function 'int can(int, int*)':
teams.cpp:41:9: error: 'sort' was not declared in this scope; did you mean 'short'?
   41 |         sort(ord, ord+m);
      |         ^~~~
      |         short
teams.cpp:53:31: error: 'max' was not declared in this scope
   53 |                         extra=max(0, extra-st->query(low+1, low+1, ord[i])+st->query(low+1, low+1, ord[i+1]));
      |                               ^~~