int main()
{
	FILE *f = fopen("input.txt", "r");
	int n = 0;
	fscanf(f, "%i", &n);
	int *a = new int[n];
	for (int i = 0; i < n; i++)
	{
		fscanf(f, "%i", &a[i]);
	}
	fclose(f);

	pSort(a, n);

	int maxRepTwice = 0;
	for (int i = n - 1; i >= 0; i--)
	{
		if (a[i] == a[i - 1])
		{
			maxRepTwice = a[i];
			break;
		}
	}
	delete[] a;
	
	f = fopen("output.txt", "w");
	fprintf(f, "%i", maxRepTwice);
	
	fclose(f);
	return 0;
}
Esempio n. 2
0
    intrusive_ptr<DocumentSource> DocumentSourceSort::createFromBson(
        BSONElement *pBsonElement,
        const intrusive_ptr<ExpressionContext> &pExpCtx) {
        uassert(15973, str::stream() << " the " <<
                sortName << " key specification must be an object",
                pBsonElement->type() == Object);

        intrusive_ptr<DocumentSourceSort> pSort(
            DocumentSourceSort::create(pExpCtx));

        /* check for then iterate over the sort object */
        size_t sortKeys = 0;
        for(BSONObjIterator keyIterator(pBsonElement->Obj().begin());
            keyIterator.more();) {
            BSONElement keyField(keyIterator.next());
            const char *pKeyFieldName = keyField.fieldName();
            int sortOrder = 0;
                
            uassert(15974, str::stream() << sortName <<
                    " key ordering must be specified using a number",
                    keyField.isNumber());
            sortOrder = (int)keyField.numberInt();

            uassert(15975,  str::stream() << sortName <<
                    " key ordering must be 1 (for ascending) or -1 (for descending",
                    ((sortOrder == 1) || (sortOrder == -1)));

            pSort->addKey(pKeyFieldName, (sortOrder > 0));
            ++sortKeys;
        }

        uassert(15976, str::stream() << sortName <<
                " must have at least one sort key", (sortKeys > 0));

        return pSort;
    }