이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimize("Ofast,unroll-loops")
#define pii pair<int,int>
using namespace __gnu_pbds;
using namespace std;
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define int long long
#define f first
#define s second
#define pii pair<int,int>
template<class T>bool umax(T &a,T b){if(a<b){a=b;return true;}return false;}
template<class T>bool umin(T &a,T b){if(b<a){a=b;return true;}return false;}
typedef tree<int, null_type, less_equal<int>, rb_tree_tag,
	tree_order_statistics_node_update> ordered_set;
const int mod= 1e9 +7;
const int N=1e5*4;
int binpow (int a, int n) {
	if (n == 0)
		return 1;
	if (n % 2 == 1)
		return binpow (a, n-1) * a;
	else {
		int b = binpow (a, n/2);
		return b * b;
	}
}
void solve(){
	int n,m,k;
	cin>>n;
	if(n<=300){
		vector<int>a(n+1),b(n+1),c(n+1);
	int sum = 0;
	for(int i = 0;i<n;i++){
		cin>>a[i]>>b[i]>>c[i];
	}
	int mx = -1;
	
	for(int i = 0;i<n;i++){
		for(int j = 0;j<n;j++){
			if(i==j)continue;
			for(int k = 0;k<n;k++){
				if(k==i||k==j)continue;
				sum = 0;
				sum = a[i] + b[j] + c[k];
				if(a[i]>a[j]&&a[i]>a[k]&&b[j]>b[i]&&b[j]>b[k]&&c[k]>c[j]&&c[k]>c[i])umax(mx,sum);
			}
		}
	}
	cout<<mx<<endl;	
		
		return;
	}
	map<pair<int,pii>,int>mp;
	for(int i = 0;i<n;i++){
		int a,b,c;
		cin>>a>>b>>c;
		mp[{a,{b,c}}]++;
	}
	
	vector<pair<int,pii>>u;
	
	for(int i = 1;i<=5;i++){
		for(int j = 1;j<=5;j++){
			for(int k = 1;k<=5;k++){
				u.pb({i,{j,k}});
			}
		}
	}
	int mx = -1;
	for(auto to:u){
		if(mp[to]==0)continue;
		map<pair<int,pii>,int>mp1 = mp;
		
		mp1[to]--;
		for(auto i:u){
			if(mp1[i]==0)continue;
			map<pair<int,pii>,int>mp2 = mp1;
			mp2[i]--;
			for(auto j:u){
				if(mp2[j]==0)continue;
				
				int sum = to.f+i.s.f+j.s.s;
				/*if(sum==13){
					cout<<to.f<<" "<<to.s.f<<" "<<to.s.s<<"\n";
					cout<<i.f<<" "<<i.s.f<<" "<<i.s.s<<"\n";
					cout<<j.f<<" "<<j.s.f<<" "<<j.s.s<<"\n";
				}*/
				if(to.f>i.f&&to.f>j.f&& i.s.f>to.s.f&&i.s.f>j.s.f&& j.s.s>i.s.s&&j.s.s>to.s.s)umax(mx,sum);
			}
		}
	}
	
	cout<<mx<<endl;
	
}
 signed main()
{
//	freopen("seq.in", "r", stdin);
//  freopen("seq.out", "w", stdout);
	ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
	int tt=1;//cin>>tt;
	while(tt--)solve();
}
컴파일 시 표준 에러 (stderr) 메시지
team.cpp: In function 'void solve()':
team.cpp:36:8: warning: unused variable 'm' [-Wunused-variable]
   36 |  int n,m,k;
      |        ^
team.cpp:36:10: warning: unused variable 'k' [-Wunused-variable]
   36 |  int n,m,k;
      |          ^| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |