Skip to content

Commit

Permalink
Merge pull request #39 from Coach-Academy/MohamedAmir-Patch-1
Browse files Browse the repository at this point in the history
c103 practice G3 week 5
  • Loading branch information
MohamedAmirr authored Mar 9, 2024
2 parents 476662c + 9d29a18 commit d7df3bb
Show file tree
Hide file tree
Showing 11 changed files with 274 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
sort(arr, arr + n);
for (int i = 0; i < n; ++i) {
cout << arr[i] << ' ';
}
cout << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
int mn = *min_element(arr, arr + n);
if (mn == 1)
cout << "-1\n";
else
cout << 1 << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
string s, t;
cin >> s >> t;
reverse(s.begin(), s.end());
if (s == t)
cout << "YES\n";
else
cout << "NO\n";
}
//
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int numOfSongs, spaceOfFlashDrive;
cin >> numOfSongs >> spaceOfFlashDrive;
int beforeComp[numOfSongs], afterComp[numOfSongs];
long long spaceOfMusic = 0;
for (int i = 0; i < numOfSongs; ++i) {
cin >> beforeComp[i] >> afterComp[i];
spaceOfMusic += beforeComp[i];
}
int gainSpace[numOfSongs];
for (int i = 0; i < numOfSongs; ++i) {
gainSpace[i] = beforeComp[i] - afterComp[i];
}
sort(gainSpace, gainSpace + numOfSongs, greater<>());
int ans = 0;
for (int i = 0; i < numOfSongs and spaceOfMusic > spaceOfFlashDrive; ++i) {
spaceOfMusic -= gainSpace[i];
ans++;
}
if (spaceOfMusic > spaceOfFlashDrive)
cout << -1 << endl;
else
cout << ans << endl;


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n, k, x;
cin >> n >> k >> x;
int arr[n];
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
for (int i = n - 1; i >= 0 and k > 0; --i) {
arr[i] = x;
k--;
}
int sum = 0;
for (int i = 0; i < n; ++i) {
sum += arr[i];
}
cout << sum << endl;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
int mn = arr[0], mx = arr[0];
int ans = 0;
for (int i = 1; i < n; ++i) {
if (arr[i] > mx) {
ans++;
mx = arr[i];
}
if (arr[i] < mn) {
ans++;
mn = arr[i];
}
}
cout << ans << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n, m;
cin >> n >> m;
int arr[m];
for (int i = 0; i < m; ++i) {
cin >> arr[i];
}
sort(arr, arr + m);
n--;
int mn = 1000000000;
for (int i = n; i < m; ++i) {
if (arr[i] - arr[i - n] < mn) {
mn = arr[i] - arr[i - n];
}
}
cout << mn << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int arr[4];
for (int i = 0; i < 4; ++i) {
cin >> arr[i];
}
sort(arr, arr + 4);
int ans = 0;
for (int i = 1; i < 4; ++i) {
if (arr[i] == arr[i - 1])
ans++;
}
cout << ans << endl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int people = 0, mx = 0;
for (int i = 0; i < n; ++i) {
int a, b;
cin >> a >> b;
people -= a;
people += b;
if (people > mx)
mx = people;
}
cout << mx << endl;


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int p[n], q[n], permutation[n];
for (int i = 0; i < n; ++i) {
cin >> p[i];
}
for (int i = 0; i < n; ++i) {
cin >> q[i];
}
for (int i = 1; i <= n; ++i) {
permutation[i - 1] = i;
}
int a = 0, b = 0;
int cnt = 0;
do {
bool isEqual = true;
for (int i = 0; i < n; ++i) {
if (p[i] != permutation[i])
isEqual = false;
}
cnt++;
if (isEqual) {
a = cnt;
break;
}
} while (next_permutation(permutation, permutation + n));

for (int i = 1; i <= n; ++i) {
permutation[i - 1] = i;
}

cnt = 0;
do {
bool isEqual = true;
for (int i = 0; i < n; ++i) {
if (q[i] != permutation[i])
isEqual = false;
}
cnt++;
if (isEqual) {
b = cnt;
break;
}
} while (next_permutation(permutation, permutation + n));
cout << abs(a - b) << endl;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#include <bits/stdc++.h>

using namespace std;

int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
int mx = arr[0], mxPos = 0;
for (int i = 0; i < n; ++i) {
if (mx < arr[i]) {
mx = arr[i];
mxPos = i;
}
}
int ans = 0;
while (mxPos > 0) {
swap(arr[mxPos], arr[mxPos - 1]);
ans++;
mxPos--;
}
int mn = arr[n - 1], mnPos = n - 1;
for (int i = n - 1; i >= 0; --i) {
if (mn > arr[i]) {
mn = arr[i];
mnPos = i;
}
}
while (mnPos < n - 1) {
swap(arr[mnPos], arr[mnPos + 1]);
ans++;
mnPos++;
}
cout << ans << endl;

}

0 comments on commit d7df3bb

Please sign in to comment.