답안 #421132

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
421132 2021-06-08T18:41:01 Z daanolav Arranging Shoes (IOI19_shoes) C++14
10 / 100
1 ms 204 KB
#include "shoes.h"
#include <vector>
#include <bitset>
#include <tuple>
#include <cmath>


using namespace std;

typedef vector<int> vi;
typedef pair<vi,bool> vib;


int n,num,shoeSize,index,first,second;


long long count_swaps(std::vector<int> s) {
    n = s.size() / 2;
	vib sizes[n + 1];

	long long swapsNeeded = 0;

	for(index = 0; index < 2 * n; ++index) {
        num = s[index];
        //cerr << "shoe num " << index << " is " << num << endl;
        shoeSize = abs(num);
        if(sizes[shoeSize].first.size() == 0) {
            sizes[shoeSize].first.push_back(index);
            sizes[shoeSize].second = num > 0;
        } else if((num > 0) == sizes[shoeSize].second) {
            sizes[shoeSize].first.push_back(index);
        } else {
            first = num < 0 ? index : sizes[shoeSize].first[0];
            second = num > 0 ? index : sizes[shoeSize].first[0];
            if(second > first) {
                swapsNeeded += second - first - 1;
            } else {
                swapsNeeded += first - second;
            }
            sizes[shoeSize].first.erase(sizes[shoeSize].first.begin());
        }
	}

	return swapsNeeded;

}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 0 ms 204 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Incorrect 1 ms 204 KB Output isn't correct
8 Halted 0 ms 0 KB -