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; }
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; }