Submission #892171

#TimeUsernameProblemLanguageResultExecution timeMemory
892171vjudge1Team Contest (JOI22_team)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back using namespace std; signed main(){ int n; cin>>n; vector <vector <int> > a; int mxx=0,mxy=0,mxz=0; map <vector <int> ,int> mp; for(int i=0;i<n;i++){ int x,y,z; cin>>x>>y>>z; a.pb({x,y,z}); mxx=max(mxx,x); mxy=max(mxy,y); mxz=max(mxz,z); mp[{x,y,z}]++; } if(n<=300){ int res=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ for(int k=j+1;k<n;k++){ bool flag=true; int ans=0; set <int> st; for(int t=0;t<3;t++){ int mx=0,cnt=0,x=-1; mx=max(a[i][t],mx); mx=max(a[j][t],mx); mx=max(a[k][t],mx); if(mx==a[i][t]){ cnt++;x=i; } if(mx==a[j][t]){ cnt++;x=j; } if(mx==a[k][t]){ cnt++;x=k; } if(cnt==1){ ans+=mx; st.insert(x); } else flag=false; } if(flag && st.size()==3)res=max(res,ans); } } } if(res==0)res=-1; cout<<res<<"\n"; } int mx=-1; for(int i=1;i<=mxx;i++){ for(int j=1;j<=mxy;j++){ for(int k=1;k<=mxz;k++){ bool ok1=0,ok2=0,ok3=0; for(auto x : mp){ vector <int> v=x.ff; if(v[0]==i && v[1]<j && v[2]<k)ok1=1; if(v[0]<i && v[1]==j && v[2]<k)ok2=1; if(v[0]<i && v[1]<j && v[2]==k)ok3=1; } if(ok1 && ok2 && ok3)mx=max(mx,i+j+k); } } } cout<<mx<<"\n"; }
#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...