Submission #149546

#TimeUsernameProblemLanguageResultExecution timeMemory
149546티셔츠 콜렉터 (#200)List of Unique Integers (FXCUP4_unique)C++17
0 / 100
5 ms256 KiB
#include "unique.h"

std::vector<int> PickUnique(int N) {
    int result[N];
    int leftIndex = 0;
    int rightIndex = N-1;
    while (leftIndex < rightIndex) {
        int totalUniqueCount = UniqueCount(leftIndex, rightIndex);
        int leftUniqueCount = UniqueCount(leftIndex + 1, rightIndex);
        int rightUniqueCount = UniqueCount(leftIndex, rightIndex - 1);
        
        if (totalUniqueCount <= leftUniqueCount) {
            result[leftIndex] = 0;
        } else if (totalUniqueCount <= rightUniqueCount) {
            result[rightIndex] = 0;
        } else {
            if (totalUniqueCount > leftUniqueCount) {
                result[leftIndex] = 1;
            }
            if (totalUniqueCount > rightUniqueCount) {
                result[rightIndex] = 1;
            }
        }
        leftIndex++;
        rightIndex--;
    }

    std::vector<int> output;
    for (int i = 0; i < N; i++) {
        output.push_back(result[i]);
    }
	return output;
}
#Verdict Execution timeMemoryGrader output
Fetching results...