제출 #1244206

#제출 시각아이디문제언어결과실행 시간메모리
1244206AlmontherTeam Contest (JOI22_team)C++20
9 / 100
1617 ms22552 KiB
#include<bits/stdc++.h> #define ll long long #define co cout<< using namespace std; // stuff const int maxn=2e5+5; int sh[3],n,arr[maxn][3]; int dp[maxn][8]; int rec(int x,int mask){ if(x==n) return (mask==7); if(dp[x][mask]!=-1) return dp[x][mask]; bool ans=rec(x+1,mask); for(int i=0;i<3;i++){ if((mask&(1<<i))==0){ if(arr[x][i]==sh[i]){ bool yes=1; for(int j=0;j<3;j++){ if(i!=j&&arr[x][j]>=sh[j]) yes=0; } if(yes) ans|=rec(x+1,mask|(1<<i)); } } } return dp[x][mask]=ans; } void solve(){ cin>>n; for(int i=0;i<n;i++) cin>>arr[i][0]>>arr[i][1]>>arr[i][2]; ll mx=-1; for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ for(int k=1;k<=5;k++){ sh[0]=i; sh[1]=j; sh[2]=k; memset(dp,-1,sizeof(dp)); if(rec(0,0)) mx=max(mx,(ll)i+j+k); } } } co mx; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int _=1; // cin>>_; while(_--) solve(); }
#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...