| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1349785 | ozner77 | A String Problem (EGOI25_stringproblem) | C++20 | 321 ms | 37192 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;
map<ll,ll> connected;
map<ll,ll> cuerda;
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;
connected[a]=b;
connected[b]=a;
cuerda[a]=i;
cuerda[b]=i;
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;
queue<ll> Q;
for(int i=0;i<n;i++){
ll xd=V[i].first+V[i].second;
xd%=2*n;
if(xd!=modi){
Q.push(V[i].first);
break;
}
}
while(!Q.empty()){
ll node=Q.front();
visited[node]=1;
Q.pop();
ll point=connected[node];
ll goin=(modi-point);
goin%=2*n;
if(goin<0){
goin+=2*n;
}
cout<<cuerda[node]<<" "<<node<<" "<<goin<<"\n";
if(visited[goin]){
continue;
}
Q.push(goin);
}
}| # | 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... | ||||
