Submission #1282608

#TimeUsernameProblemLanguageResultExecution timeMemory
1282608duyanhchupapiTeam Contest (JOI22_team)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std; 
using ll = long long; 
const int N = 150005;
int n, inf = 1e9;

struct kid {
	int x,y,z,id;
} X[N], Y[N], Z[N];
bool used[N];

bool ok(int i,int j,int k) {
	if(X[i].id == Y[j].id || Y[j].id == Z[k].id|| Z[k].id == X[i].id) return false;
	if(X[i].x <= max(Y[j].x, Z[k].x)) return false;
	if(Y[j].y <= max(X[i].y, Z[k].y)) return false;
	if(Z[k].z <= max(X[i].z, Y[j].z)) return false;
	return true;
}

int main() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);	
	cin >> n;
	for(int i=1;i<=n;++i) {
		int x,y,z;
		cin >> x >> y >> z;
		X[i] = {x,y,z,i};
		Y[i] = {x,y,z,i};
		Z[i] = {x,y,z,i};
	} 
	sort(X+1,X+n+1, [&](kid p1, kid p2) {return p1.x < p2.x;});
	sort(Y+1,Y+n+1, [&](kid p1, kid p2) {return p1.y < p2.y;});
	sort(Z+1,Z+n+1, [&](kid p1, kid p2) {return p1.z < p2.z;});
	int i = n, j = n, k = n;
	while(i && j && k) {
		if(ok(i,j,k)) { 
			cout << X[i].x + Y[j].y + Z[k].z; return 0;
		}
		if(X[i].y == Y[j].y || X[i].z == Z[k].z)) used[X[i].id] = 1;
		if(X[i].x == Y[j].x || Y[j].z == Z[k].z)) used[Y[j].id] = 1;
		if(X[i].x == Z[k].x || Y[j].y == Z[k].y)) used[Z[k].id] = 1;
		while(used[X[i].id]) --i;
		while(used[Y[j].id]) --j;
		while(used[Z[k].id]) --k;
	}
	cout << -1;
	return 0;
}

Compilation message (stderr)

team.cpp: In function 'int main()':
team.cpp:40:57: error: expected primary-expression before ')' token
   40 |                 if(X[i].y == Y[j].y || X[i].z == Z[k].z)) used[X[i].id] = 1;
      |                                                         ^
team.cpp:41:57: error: expected primary-expression before ')' token
   41 |                 if(X[i].x == Y[j].x || Y[j].z == Z[k].z)) used[Y[j].id] = 1;
      |                                                         ^
team.cpp:42:57: error: expected primary-expression before ')' token
   42 |                 if(X[i].x == Z[k].x || Y[j].y == Z[k].y)) used[Z[k].id] = 1;
      |                                                         ^