diff --git a/Task1/img/sniggy10.jpg b/Task1/img/sniggy10.jpg
new file mode 100644
index 00000000..eb28e871
Binary files /dev/null and b/Task1/img/sniggy10.jpg differ
diff --git a/Task1/index.html b/Task1/index.html
index 02288f78..5f9d8605 100644
--- a/Task1/index.html
+++ b/Task1/index.html
@@ -1293,7 +1293,18 @@
galacticGhoul
-
+
+
+
+
+
+
diff --git a/Task3/cpp/K_largest_elements.cpp b/Task3/cpp/K_largest_elements.cpp
new file mode 100644
index 00000000..0e663437
--- /dev/null
+++ b/Task3/cpp/K_largest_elements.cpp
@@ -0,0 +1,68 @@
+#include
+
+using namespace std;
+class Solution{
+
+public:
+ void swap(int* a,int* b)
+ {
+ int temp = *a;
+ *a=*b;
+ *b=temp;
+ }
+
+public:
+ void max_heapify(int a[],int n,int i){
+ int largest=i;
+ int l=2*i+1;
+ int r=2*i+2;
+
+ if(la[largest])
+ largest=l;
+
+ if(ra[largest])
+ largest=r;
+
+ if(i!=largest){
+ swap(&a[i],&a[largest]);
+ max_heapify(a,n,largest);
+ }
+ }
+public:
+ vector kLargest(int arr[], int n, int k) {
+
+ for(int i=n/2-1;i>=0;i--)
+ max_heapify(arr,n,i);
+
+ vectorkl;
+
+ for(int i=n-1;i>=n-k;i--)
+ {
+ kl.push_back(arr[0]);
+ swap(&arr[0],&arr[i]);
+ max_heapify(arr,i,0);
+ }
+ return kl;
+ }
+
+};
+
+int main() {
+ int t;
+ cin >> t;
+ while (t--) {
+ int n, k;
+ cin >> n >> k;
+ int arr[n];
+ for (int i = 0; i < n; i++) {
+ cin >> arr[i];
+ }
+ Solution ob;
+ auto ans = ob.kLargest(arr, n, k);
+ for (auto x : ans) {
+ cout << x << " ";
+ }
+ cout << "\n";
+ }
+ return 0;
+}