Submission #1244155

#TimeUsernameProblemLanguageResultExecution timeMemory
1244155m5588ohammedTeam Contest (JOI22_team)C++20
0 / 100
87 ms3912 KiB
#include <bits/stdc++.h> #define endl "\n" #define mod 1000000007 using namespace std; #define int long long const int N=(1<<19); int Tree[N*2+5],valY[301],ansY[301]; int n,inf=3e10; array <int,3> arr[150001]; int calc(){ for(int i=0;i<=300;i++) ansY[i]=valY[i]=-inf; sort(arr+1,arr+n+1); int mx=-1; for(int i=1;i<=n;i++){ for(int Y=arr[i][1]+1;Y<=300;Y++){ if(ansY[Y]>arr[i][2]) mx=max(mx,ansY[Y]+Y+arr[i][0]); } valY[arr[i][1]]=max(valY[arr[i][1]],arr[i][2]); for(int Y=arr[i][1]-1;Y>=0;Y--){ ansY[arr[i][1]]=max(ansY[arr[i][1]],valY[Y]); } } return mx; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n; for(int i=1;i<=n;i++){ cin>>arr[i][0]>>arr[i][1]>>arr[i][2]; } int ans1=calc(); for(int i=1;i<=n;i++) swap(arr[i][1],arr[i][2]); cout<<max(ans1,calc()); }
#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...