제출 #1349633

#제출 시각아이디문제언어결과실행 시간메모리
1349633vjudge1A String Problem (EGOI25_stringproblem)C++20
50 / 100
202 ms23136 KiB
#include "bits/stdc++.h"
using namespace std;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin>>n;
    map<int, int> Puntaje;
    vector< pair<int, int> > Pares(n);
    for(int i = 0; i < n; i++){
        cin>>Pares[i].first>>Pares[i].second;
        Puntaje[(Pares[i].first + Pares[i].second) % (2 * n)]++;
    }
    int Mayor = -2, Valor = -2, Tiempo = n;
    for(int i = 1; i < n * 2; i += 2){
        if(Puntaje[i] > Mayor){
            Mayor = Puntaje[i];
            Valor = i;
            Tiempo = n - Puntaje[i];
        }
    }
    cerr<<Valor<<"\n";
    set< pair<int, int> > Pares_posibles;
    int A_adir = Valor;
    for(int i = 0; i < n * 2; i++){
        //cerr<<i<<" "<<A_adir<<"\n";
        Pares_posibles.insert({i, A_adir});
        A_adir--;
        if(A_adir < 0) A_adir = n * 2 - 1;
    }
    cout<<Tiempo<<"\n";
    vector< pair< pair<int, int>, int > > Considerar;
    for(int i = 0; i < n; i++){
        if(Pares_posibles.count(Pares[i]) == 1){
            Pares_posibles.erase(Pares[i]);
            swap(Pares[i].first, Pares[i].second);
            Pares_posibles.erase(Pares[i]);
            continue;
        }
        Considerar.push_back({Pares[i], i});
    }
    for(auto E: Considerar){
        auto e = Pares_posibles.lower_bound({E.first.first, -2});
        int Extremo = e->second;
        cout<<E.second<<" "<<E.first.second<<" "<<Extremo<<"\n";
        Pares_posibles.erase({E.first.first, Extremo});
        Pares_posibles.erase({Extremo, E.first.first});
    }
    return 0;
}
#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...