Submission #892245

#TimeUsernameProblemLanguageResultExecution timeMemory
892245vjudge1Team Contest (JOI22_team)C++17
17 / 100
2032 ms856 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define ff first #define ss second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long // the most CHALISHKANCHIK typedef vector<int> vi; typedef pair<int,int> pii; typedef vector<pii> vii; void solve(){ int n; cin >> n; set<vi> c; for(int i = 0; i < n; i++){ vi b(3); for(int &i:b)cin >> i; c.insert(b); } vector<vi> a; for(auto i:c)a.pb(i); int ans = -1; n = min(400ll, (int)a.size()); sort(rall(a)); 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 == j || i == k)continue; int mx1 = 0, mx2 = 0, mx3 = 0; mx1 = max({a[i][0], a[j][0], a[k][0]}); mx2 = max({a[i][1], a[j][1], a[k][1]}); mx3 = max({a[i][2], a[j][2], a[k][2]}); bool ok1 = 0, ok2 = 0, ok3 = 0; for(int h = 0; h < 3; h++){ if(a[i][h] > a[j][h] && a[i][h] > a[k][h])ok1 = 1; if(a[j][h] > a[i][h] && a[j][h] > a[k][h])ok2 = 1; if(a[k][h] > a[j][h] && a[k][h] > a[i][h])ok3 = 1; } if(ok1 && ok2 && ok3)ans = max(ans, mx1+mx2+mx3); }for(int k = n-1; k >= max(0ll, n-400); k--){ if(k == j || i == k)continue; int mx1 = 0, mx2 = 0, mx3 = 0; mx1 = max({a[i][0], a[j][0], a[k][0]}); mx2 = max({a[i][1], a[j][1], a[k][1]}); mx3 = max({a[i][2], a[j][2], a[k][2]}); bool ok1 = 0, ok2 = 0, ok3 = 0; for(int h = 0; h < 3; h++){ if(a[i][h] > a[j][h] && a[i][h] > a[k][h])ok1 = 1; if(a[j][h] > a[i][h] && a[j][h] > a[k][h])ok2 = 1; if(a[k][h] > a[j][h] && a[k][h] > a[i][h])ok3 = 1; } if(ok1 && ok2 && ok3)ans = max(ans, mx1+mx2+mx3); } } for(int j = n-1; j >= max(0ll, n-400); j--){ if(i == j)continue; for(int k = 0; k < n; k++){ if(k == j || i == k)continue; int mx1 = 0, mx2 = 0, mx3 = 0; mx1 = max({a[i][0], a[j][0], a[k][0]}); mx2 = max({a[i][1], a[j][1], a[k][1]}); mx3 = max({a[i][2], a[j][2], a[k][2]}); bool ok1 = 0, ok2 = 0, ok3 = 0; for(int h = 0; h < 3; h++){ if(a[i][h] > a[j][h] && a[i][h] > a[k][h])ok1 = 1; if(a[j][h] > a[i][h] && a[j][h] > a[k][h])ok2 = 1; if(a[k][h] > a[j][h] && a[k][h] > a[i][h])ok3 = 1; } if(ok1 && ok2 && ok3)ans = max(ans, mx1+mx2+mx3); }for(int k = n-1; k >= max(0ll, n-400); k--){ if(k == j || i == k)continue; int mx1 = 0, mx2 = 0, mx3 = 0; mx1 = max({a[i][0], a[j][0], a[k][0]}); mx2 = max({a[i][1], a[j][1], a[k][1]}); mx3 = max({a[i][2], a[j][2], a[k][2]}); bool ok1 = 0, ok2 = 0, ok3 = 0; for(int h = 0; h < 3; h++){ if(a[i][h] > a[j][h] && a[i][h] > a[k][h])ok1 = 1; if(a[j][h] > a[i][h] && a[j][h] > a[k][h])ok2 = 1; if(a[k][h] > a[j][h] && a[k][h] > a[i][h])ok3 = 1; } if(ok1 && ok2 && ok3)ans = max(ans, mx1+mx2+mx3); } } } cout << ans << '\n'; } main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int test = 1; //~ cin >> test; while(test--){ solve(); } }

Compilation message (stderr)

team.cpp:91:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   91 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...