Submission #688492

#TimeUsernameProblemLanguageResultExecution timeMemory
688492dkblossomTeam Contest (JOI22_team)C++14
100 / 100
87 ms9648 KiB
#include<bits/stdc++.h> using namespace std; #pragma gcc optimize('ofast','unroll-loops') #define endl '\n' #define ff first #define ss second #define pb emplace_back #define mp make_pair #define all(x) x.begin(),x.end() #define sz(x) (int)x.size() #define rep(a,b,c) for(int a=b;a<c;a++) typedef long long ll; typedef pair<int,int> pii; typedef vector<int> vi; const ll maxn = 150005; const ll maxm = 200005; const ll mod = 1000000007; void solve(){ int n; pii a[maxn], b[maxn], c[maxn]; int tmpa[maxn], tmpb[maxn], tmpc[maxn]; bitset<maxn> check; cin >> n; rep(i,0,n) cin >> a[i].ff >> b[i].ff >> c[i].ff, a[i].ss = b[i].ss = c[i].ss = i; rep(i,0,n) tmpa[i] = a[i].ff, tmpb[i] = b[i].ff, tmpc[i] = c[i].ff; sort(a,a+n), sort(b,b+n), sort(c,c+n); int at = n-1, bt = n-1, ct = n-1; while(1){ if(at<0 || bt<0 || ct<0){ cout << -1 << endl; return; } //cout << endl << at << ' ' << bt << ' ' << ct << ' ' << endl; if(tmpb[a[at].ss]==b[bt].ff || tmpc[a[at].ss]==c[ct].ff) check[a[at].ss] = 1; else if(tmpa[b[bt].ss]==a[at].ff || tmpc[b[bt].ss]==c[ct].ff) check[b[bt].ss] = 1; else if(tmpa[c[ct].ss]==a[at].ff || tmpb[c[ct].ss]==b[bt].ff) check[c[ct].ss] = 1; else{ cout << a[at].ff+b[bt].ff+c[ct].ff << endl; return; } while(at>-1 && check[a[at].ss]) at--; while(bt>-1 && check[b[bt].ss]) bt--; while(ct>-1 && check[c[ct].ss]) ct--; } } int main(){ //freopen("input.txt","r",stdin); //freopen("sol.txt","w",stdout); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; //cin >> t; while(t--) solve(); }

Compilation message (stderr)

team.cpp:4: warning: ignoring '#pragma gcc optimize' [-Wunknown-pragmas]
    4 | #pragma gcc optimize('ofast','unroll-loops')
      |
#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...