Решение задачи Карты с Codeforces

Без пояснения   Просмотров: 24


В колоде карт есть n карт (n — чётное число). На каждой карте написано целое положительное число. В новую карточную игру будут играть n / 2 человек. Каждому из игроков перед началом игры будет роздано ровно по две карты, причём каждая карта из колоды будет роздана ровно одному игроку.

Перед вами стоит задача найти такой способ раздачи карт, чтобы у каждого из игроков сумма чисел, написанных на полученных им картах, совпадала. Гарантируется, что входные данные таковы, что это всегда возможно.

Код

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	cin >> n;
	pair<int,int> a[100];
	for(int i = 0;i < n; i++){
		cin >> a[i].first;
		a[i].second = i + 1;
	} 
	sort(a, a + n);
	for(int i = 0;i < n/2; i++)
		cout << a[i].second << " " << a[n - i - 1].second << endl;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться