| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1364595 | lizi14 | Arranging Shoes (IOI19_shoes) | C++20 | 1095 ms | 2728 KiB |
#include "shoes.h"
#include <cstdio>
#include <cassert>
#include <bits/stdc++.h>
using namespace std;
//#include "shoes.h"
long long count_swaps(vector<int> s) {
long long n=s.size()/2;
if(n==1){
if(s[0]<0 && s[1]>0){
return 0;
}
else return 1;
}
//long long cnt=0;
// for(int i=0; i<2*n; i++){
// }
// for(int i=0; i<n; i++){
// if(!(abs(s[i])==s[i+n] && s[i]<0)){
// cnt=1;
// break;
// }
// }
// if(cnt==0){
// return (n*(n-1)/2);
// }
int c[2*n];
fill(c,c+2*n,0);
long long ans=0;
for(int i=0; i<2*n; i++){
if(c[i]==0){
if(s[i]<0){
//int ans1=-1;
long long k=0;
for(int j=i+1; j<2*n; j++){
if(c[j]==1)k++;
if(s[j]==abs(s[i]) && c[j]==0){
ans+=j-i-1-k;
c[j]=1;
c[i]=1;
break;
}
}
}
else{
long long k=0;
for(int j=i+1; j<2*n; j++){
if(c[j]==1)k++;
if(s[j]==(-1)*s[i] && c[j]==0){
//cout<<i<<" "<<j<<" "<<k<<endl;
ans+=j-i-k;
c[j]=1;
c[i]=1;
break;
}
}
}
}
}
return ans;
}
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
