Submission #14130

#TimeUsernameProblemLanguageResultExecution timeMemory
14130gs13105이상한 수열 (OJUZ10_bizarre)C++98
100 / 100
14 ms1776 KiB
#include <stdio.h>
#include <vector>
#include <algorithm>

std::vector<int> arr;

int main()
{
	std::vector<int>::iterator it;
	int a, p, n, m, i;
	scanf("%d", &n);
	arr.reserve(n);
	for(i=0;i<n;i++)
	{
		scanf("%d", &a);
		arr.push_back(a);
	}
	scanf("%d", &m);
	if(m<=n)
	{
		printf("%d", arr[m-1]);
		return 0;
	}
	std::sort(arr.begin(), arr.end());
	arr.erase(std::unique(arr.begin(), arr.end()), arr.end());
	p=arr.size();
	it=std::lower_bound(arr.begin(), arr.end(), p);
	if(it==arr.end())
		printf("%d", p+m-n-1);
	else
		printf("%d", std::min(p+m-n-1, *it));
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...