답안 #917810

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
917810 2024-01-28T20:02:47 Z manishjha91 Team Contest (JOI22_team) C++17
0 / 100
67 ms 9160 KB
#include<bits/stdc++.h>
using namespace std;
 
using ll = long long;
using ull = unsigned long long;
using lld = long double;


const int inf = 1e9;


int get(vector<array<int,3>>&b, int idx)
{
	int n = b.size();
	vector<array<int,3>> a = b;
	sort(a.begin(),a.end(), [&](array<int,3>x, array<int,3>y){
		return x[idx]<y[idx];	
	});
	
	int mxx = a.back()[idx];
	priority_queue<pair<int,int>> pqy,pqz;
	
	for(int i=0; i<n; i++)
	{
		if(a[i][idx]<mxx)
		{
			pqy.push({a[i][(idx+1)%3], i});
			pqz.push({a[i][(idx+2)%3], i});
		}
	}
	
	while(!pqy.empty() && pqy.top().second==pqz.top().second)
	{
		pqy.pop();
		pqz.pop();
	}
	
	if(pqy.empty()) return -1;
	
	int mxy = pqy.top().first , mxz = pqz.top().first;
	
	for(int i=0; i<n; i++)
	{
		if(a[i][idx]<a.back()[idx])
		{
			mxy = max(mxy,a[i][(idx+1)%3]);
			mxz = max(mxz,a[i][(idx+2)%3]);
		}
	}
	
	for(int i=0; i<(int)a.size();)
	{
		if(a[i][idx]==mxx && (a[i][(idx+1)%3]==mxy || a[i][(idx+2)%3]==mxz))
		{
			swap(a[i],a.back());
			a.pop_back();
		}
		else i++;
	}
	
	int ans = -1;
	if(a.back()[idx]==mxx)
	{
		ans = max(ans, mxx + mxy + mxz);
	}
	
	
	return ans;
	
}
 
void solve()
{
	int n;
	cin >> n;
 
	vector<array<int,3>> a(n);
	int mxx = 0, mxy = 0, mxz = 0;
	int mnx = inf, mny = inf, mnz = inf;
	for (int i = 0; i < n; i++)
	{
		cin >> a[i][0]>>a[i][1]>>a[i][2];
		mxx = max(mxx,a[i][0]);
		mxy = max(mxy,a[i][1]);
		mxz = max(mxz,a[i][2]);
		
		mnx = min(mnx, a[i][0]);
		mny = min(mny, a[i][1]);
		mnz = min(mnz, a[i][2]);
		
	}
	
	vector<array<int,3>> b;
	
	for(int i=0; i<n; i++)
	{
		int cnt = 0;
		if(a[i][0]==mxx) cnt++;
		if(a[i][1]==mxy) cnt++;
		if(a[i][2]==mxz) cnt++;
		
		if(cnt>=2) continue;
		b.push_back(a[i]);
	}
	
	swap(a,b);
	n = a.size();
	
	if(n<=2)
	{
		cout<<"-1\n";
		return;
	}
	int ans = -1;
	
	for(int i=0; i<3; i++)
	{
		ans = max(ans, get(a,i));
	}
	cout<<ans<<"\n";
	
	
	
	
	
	
}
 
int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
 
// #ifndef ONLINE_JUDGE
// 	freopen("error.txt", "w", stderr);
// #endif
 
	int tt = 1;
	// cin >> tt;
	while (tt--)
	{
		solve();
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 512 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Incorrect 1 ms 348 KB Output isn't correct
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 512 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Incorrect 1 ms 348 KB Output isn't correct
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 67 ms 9160 KB Output is correct
12 Incorrect 41 ms 6264 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 67 ms 9160 KB Output is correct
12 Incorrect 41 ms 6264 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 67 ms 9160 KB Output is correct
12 Incorrect 41 ms 6264 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 67 ms 9160 KB Output is correct
12 Incorrect 41 ms 6264 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 512 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Incorrect 1 ms 348 KB Output isn't correct
16 Halted 0 ms 0 KB -