Submission #1349776

#TimeUsernameProblemLanguageResultExecution timeMemory
1349776ozner77A String Problem (EGOI25_stringproblem)C++20
65 / 100
129 ms19424 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
    ll n;
    cin>>n;
    map<ll,ll> M;
    vector<pair<ll,ll>> V;
    for(int i=0;i<n;i++){
        ll a,b;
        cin>>a>>b;
        V.push_back({a,b});
        ll xd=a+b;
        xd%=2*n;
        if((a+b)%2!=0){
            M[xd]++;
        }
    }
    ll ans=0;
    ll modi=1;
    for(auto x:M){
        if(x.second>ans){
            ans=x.second;
            modi=x.first;
        }
    }
    cout<<n-ans<<"\n";
    map<ll,ll> visited;
    for(int i=0;i<n;i++){
        ll xd=V[i].first+V[i].second;
        xd%=2*n;
        if(xd!=modi){
            if(visited[V[i].first]>0){
                visited[V[i].second]++;
                ll uwu=modi-V[i].second;
                uwu%=2*n;
                if(uwu<0){
                    uwu+=2*n;
                }
                visited[uwu]++;
                cout<<i<<" "<<V[i].first<<" "<<uwu<<"\n";
            }
            else{
                visited[V[i].first]++;
                ll uwu=modi-V[i].first;
                uwu%=2*n;
                if(uwu<0){
                    uwu+=2*n;
                }
                visited[uwu]++;
                cout<<i<<" "<<V[i].second<<" "<<uwu<<"\n";
            }
        }
    }
}
#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...