From 6e3b6e8e35f25aa7fedcc617cbad2b13b0eaa658 Mon Sep 17 00:00:00 2001 From: JARVISE Date: Tue, 2 Jun 2026 15:44:14 +0530 Subject: [PATCH] new certain change --- C Programs/C Programs 13/Cards.cpp | 44 ++++++++++++++++++------------ 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/C Programs/C Programs 13/Cards.cpp b/C Programs/C Programs 13/Cards.cpp index 3fa5f2ce..1b34e5ca 100644 --- a/C Programs/C Programs 13/Cards.cpp +++ b/C Programs/C Programs 13/Cards.cpp @@ -1,35 +1,45 @@ -#include +#include #include #include -#define all(v) (v).begin(), (v).end() using namespace std; int main() { - int no_of_people; - scanf("%d", &no_of_people); + int n; + cin >> n; - vector < pair > cards; - for(int i = 1; i <= no_of_people; i++) + vector> players; + + for (int i = 1; i <= n; i++) { - int card_i; - scanf("%d", &card_i); - cards.push_back(make_pair(card_i, i)); + int value; + cin >> value; + + players.push_back({value, i}); } - sort(all(cards)); - vector < pair > dealt_cards; - for(int front_i = 0, back_i = no_of_people - 1; front_i < back_i; front_i++, back_i--) + sort(players.begin(), players.end()); + + vector> answer; + + int left = 0; + int right = n - 1; + + while (left < right) { - int front_index = cards[front_i].second; - int back_index = cards[back_i].second; + answer.push_back( + {players[left].second, players[right].second} + ); - dealt_cards.push_back(make_pair(front_index, back_index)); + left++; + right--; } - for(unsigned int i = 0; i < dealt_cards.size(); i++) - printf("%d %d\n", dealt_cards[i].first, dealt_cards[i].second); + for (auto &p : answer) + { + cout << p.first << " " << p.second << endl; + } return 0; }