n ছাত্র, রেটিং A[i]। k ছাত্রের টিম বানাতে হবে যাতে সবার রেটিং ভিন্ন হয়। সম্ভব না হলে "Impossible", সম্ভব হলে তাদের সূচক (১-ভিত্তিক) প্রিন্ট করুন।
উদাহরণ
A = [15, 13, 15, 15, 12], k = 3 → আউটপুট: [1, 2, 5]
সমাধানের ধাপসমূহ
ভিজিটেড আরে দিয়ে প্রথম উপস্থিতি ট্র্যাক করুন। অনন্য রেটিংवाले kটি পাওয়া গেলে তাদের সূচক প্রিন্ট করুন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; void solve(vectorA, int k) { int app[101] = {0}, ans[101] = {0}, cnt = 0; int n = A.size(); for (int i = 1; i <= n; i++) { int a = A[i - 1]; if (!app[a]) { app[a]++; ans[++cnt] = i; } } if (cnt >= k) { for (int i = 1; i <= k; i++) cout << ans[i] << ", "; } else cout << "Impossible"; } int main() { vector A = {15, 13, 15, 15, 12}; int k = 3; solve(A, k); return 0; }
ইনপুট
{15, 13, 15, 15, 12}, 3
আউটপুট
1, 2, 5,