Submission #623376

#TimeUsernameProblemLanguageResultExecution timeMemory
623376MDarioTeam Contest (JOI22_team)C++11
100 / 100
92 ms9528 KiB
#include<bits/stdc++.h>
#pragma GCC optimization("Ofast")
#pragma GCC target("avx2")
#pragma once
using namespace std;
typedef long long ll;
#define F first
#define S second
#define s second.first
#define T second.second
const ll mod=1e9+7;
int n, c[20];
pair<int, int> a1[3][150010];
pair<int, pair<int, int>> a[150010];
bitset<150010> b;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    for(int i=0; i<n; i++){
        cin >> a[i].F >> a[i].s >> a[i].T;
        a1[0][i]={a[i].F, i};
        a1[1][i]={a[i].s, i};
        a1[2][i]={a[i].T, i};
    }
    sort(a1[0], a1[0]+n);
    sort(a1[1], a1[1]+n);
    sort(a1[2], a1[2]+n);
    c[3]=-1;
    c[0]=n-1;
    c[1]=n-1;
    c[2]=n-1;
    while(c[0]>=0&&c[1]>=0&&c[2]>=0){
        if(b[a1[0][c[0]].S])c[0]--;
        else if(b[a1[1][c[1]].S])c[1]--;
        else if(b[a1[2][c[2]].S])c[2]--;
        else if(a[a1[0][c[0]].S].s==a1[1][c[1]].F||a[a1[0][c[0]].S].T==a1[2][c[2]].F)b[a1[0][c[0]].S]=1;
        else if(a[a1[1][c[1]].S].F==a1[0][c[0]].F||a[a1[1][c[1]].S].T==a1[2][c[2]].F)b[a1[1][c[1]].S]=1;
        else if(a[a1[2][c[2]].S].F==a1[0][c[0]].F||a[a1[2][c[2]].S].s==a1[1][c[1]].F)b[a1[2][c[2]].S]=1;
        else{
            c[3]=a1[0][c[0]].F+a1[1][c[1]].F+a1[2][c[2]].F;
            break;
        }
    }
    cout << c[3];
    return 0;
}

Compilation message (stderr)

team.cpp:2: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    2 | #pragma GCC optimization("Ofast")
      | 
team.cpp:4:9: warning: #pragma once in main file
    4 | #pragma once
      |         ^~~~
#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...