# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
892730 | Lincito_31 | Arranging Shoes (IOI19_shoes) | C++14 | 1081 ms | 3028 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "shoes.h"
using namespace std;
long long x=0;
long long count_swaps(vector<int> s) {
bool jaja=true;
bool ja=true;
int xx=s.size()/2;
for(int i=0;i<xx;i++){
if(!(s[i]<0 && s[i]==-s[i+xx])){
jaja=false;
break;
}
}
int ayu=s[0];
for(int i=0;i<s.size();i++){
if(!(s[i]==ayu || s[i]==-ayu)){
ja=false;
break;
}
}
if(jaja || ja){
vector<int> xd_po;
vector<int> xd_ne;
for(int i=0;i<s.size();i++){
if(s[i]<0){
if(i%2!=0){
xd_ne.push_back(i);
}
}else{
if(i%2==0){
xd_po.push_back(i);
}
}
}
for(int i=0;i<xd_po.size();i++){
if(xd_po[i]>xd_ne[i]){
x+=xd_po[i]-xd_ne[i];
}else{
x+=xd_ne[i]-xd_po[i];
}
}
}else{
int con=0;
while(con<s.size()){
int temp=s[con];
if(temp==0){
con++;
continue;
}
if(temp<0){
int cero=0;
for(int i=con+1;i<s.size();i++){
if(s[i]==0){
cero++;
}
if(s[i]==-temp){
x+=i-con-1-cero;
s[i]=0;
break;
}
}
s[con]=0;
}else{
int cero=0;
for(int i=con+1;i<s.size();i++){
if(s[i]==0){
cero++;
}
if(s[i]==-temp){
x+=i-con-cero;
s[i]=0;
break;
}
}
s[con]=0;
}
con++;
}
}
return x;
}
Compilation message (stderr)
# | 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... |