This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
const int maxn=150000+10;
int all[maxn][3],f,n,i,j,h,vis[maxn];
vector<int>a,b,c;
bool cmp(int a,int b){
return all[a][f]>all[b][f];
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>all[i][0]>>all[i][1]>>all[i][2];
a.push_back(i);
}
b=c=a;
sort(a.begin(),a.end(),cmp);
f=1;
sort(b.begin(),b.end(),cmp);
f=2;
sort(c.begin(),c.end(),cmp);
while(i<n&&j<n&&h<n){
if(vis[a[i]]==1)
i++;
else if(vis[b[j]]==1)
j++;
else if(vis[c[h]]==1)
h++;
else if(all[a[i]][1]==all[b[j]][1]||all[a[i]][2]==all[c[h]][2]){
vis[a[i]]=1;
i++;
}
else if(all[b[j]][0]==all[a[i]][0]||all[b[j]][2]==all[c[h]][2]){
vis[b[j]]=1;
j++;
}
else if(all[c[h]][0]==all[a[i]][0]||all[c[h]][1]==all[b[j]][1]){
vis[c[h]]=1;
h++;
}
else{
cout<<all[a[i]][0]+all[b[j]][1]+all[c[h]][2]<<"\n";
return 0;
}
}
cout<<-1<<"\n";
return 0;
}
# | 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... |