CCCPaste

Sheet 5(Functions) - Solution

////////////////////////////////////////// PROBLEM - A //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n;
cin >> n;
int a[n + 1];
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++) {
cout << a[i] << ' ';
}
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - B //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n;
cin >> n;
bool yes = 0;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
if (x == 1) yes = 1;
}
cout << (yes == 1 ? -1 : 1);
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - C //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
string s1, s2;
cin >> s1 >> s2;
reverse(s2.begin(), s2.end());
if (s1 == s2) cout << "YES";
else cout << "NO";
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - D //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
ll n, m;
cin >> n >> m;
ll szWC = 0, szAC = 0;
ll diff[n + 1];
for (int i = 1; i <= n; i++) {
int a, b;
cin >> a >> b;
szWC += a;
szAC += b;
diff[i] = a - b;
}
if (szAC > m) cout << "-1";
else {
sort(diff + 1, diff + n + 1);
int ans = 0;
for (int i = n; i >= 1 && szWC > m; i--) {
szWC -= diff[i];
ans++;
}
cout << ans << '\n';
}
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}



////////////////////////////////////////// PROBLEM - E //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n, k, x;
cin >> n >> k >> x;
int a[n + 1];
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = n; i >= 1 && k; i--) {
a[i] = x;
k--;
}
int ans = 0;
for (int i = 1; i <= n; i++) {
ans += a[i];
}
cout << ans;
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - F //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n;
cin >> n;
int mn = 1e9;
int mx = -1e9;
int ans = -1;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
if (x > mx || x < mn) ans++;
mx = max(mx, x);
mn = min(mn, x);
}
cout << ans;
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - G //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n, m;
cin >> n >> m;
int a[m + 1];
for (int i = 1; i <= m; i++) {
cin >> a[i];
}
sort(a + 1, a + m + 1);
int ans = INT_MAX;
for (int i = 1; i + n - 1 <= m; i++) {
ans = min(ans, a[i + n - 1] - a[i]);
}
cout << ans;
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - H //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int a[4];
for (int i = 0; i < 4; i++) {
cin >> a[i];
}
sort(a, a + 4);
int ans = 0;
for (int i = 1; i < 4; i++) {
if (a[i] == a[i - 1]) ans++;
}
cout << ans;
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - I //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n;
cin >> n;
int ans = 0, cnt = 0;
while (n--) {
int x, y;
cin >> x >> y;
cnt -= x;
cnt += y;
ans = max(ans, cnt);
}
cout << ans;
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}


////////////////////////////////////////// PROBLEM - J //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void solve()
{
int n;
cin >> n;
int fMx = -1, lMn = -1, mx = 0, mn = 1e9;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
if (x > mx) {
mx = x;
fMx = i;
}
if (x <= mn) {
mn = x;
lMn = i;
}
}
cout << fMx - 1 + n - lMn - (lMn <= fMx);
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}

////////////////////////////////////////// PROBLEM - K //////////////////////////////////////////
#include <bits/stdc++.h>
#define ll long long
using namespace std;

bool checkEquality(int a[], int b[], int n) {
for (int i = 0; i < n; i++) {
if (a[i] != b[i]) return 0;
}
return 1;
}

void solve()
{
int n;
cin >> n;
int a[n], b[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
cin >> b[i];
}
int c[n];
for (int i = 1; i <= n; i++) {
c[i - 1] = i;
}
int x, y;
int i = 1;
do {
if (checkEquality(a, c, n)) x = i;
if (checkEquality(b, c, n)) y = i;
i++;
}while(next_permutation(c, c + n));
cout << abs(x - y);
}

int main()
{
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
solve();
}
return 0;
}