Skip to content

Commit 41ef0c0

Browse files
cses and codeforces
1 parent bcf42fb commit 41ef0c0

File tree

6 files changed

+274
-0
lines changed

6 files changed

+274
-0
lines changed

CSES/Book_Shop.cpp

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
int main()
7+
{
8+
ios_base::sync_with_stdio(false);
9+
cin.tie(NULL);
10+
int test;
11+
int i, j, k, n, temp, count = 0, ans = 0, sum = 0;
12+
13+
cin >> n >> k;
14+
int price[n], pages[n];
15+
16+
for(i = 0; i < n; i++)
17+
{
18+
cin >> price[i];
19+
}
20+
for(i = 0; i < n; i++)
21+
{
22+
cin >> pages[i];
23+
}
24+
25+
int dp[n + 1][k + 1];
26+
27+
for(i = 0; i <= n; i++)
28+
{
29+
for(j = 0; j <= k; j++)
30+
{
31+
if(i == 0 || j == 0)
32+
{
33+
dp[i][j] = 0;
34+
}
35+
else if(price[i - 1] <= j)
36+
{
37+
dp[i][j] = max(pages[i - 1] + dp[i - 1][j - price[i - 1]], dp[i - 1][j]);
38+
}
39+
else
40+
{
41+
dp[i][j] = dp[i - 1][j];
42+
}
43+
}
44+
}
45+
46+
47+
ans = dp[n][k];
48+
49+
cout << ans << endl;
50+
51+
return 0;
52+
}

CSES/Restaurant_Customers.cpp

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
int main()
7+
{
8+
ios_base::sync_with_stdio(false);
9+
cin.tie(NULL);
10+
ll test;
11+
ll i, j, k, n, temp, count = 0, ans = 0, sum = 0;
12+
cin >> n;
13+
ll a[n], b[n];
14+
15+
for(i = 0; i < n; i++)
16+
{
17+
cin >> a[i] >> b[i];
18+
}
19+
20+
sort(a, a + n);
21+
sort(b, b + n);
22+
23+
i = 0;j = 0;
24+
while(i < n)
25+
{
26+
if(a[i] < b[j])
27+
{
28+
count++;
29+
i++;
30+
}
31+
else
32+
{
33+
count--;
34+
j++;
35+
}
36+
ans = max(ans, count);
37+
}
38+
39+
cout << ans << endl;
40+
return 0;
41+
}

CSES/Sum_of_Two_Values.cpp

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
int main()
7+
{
8+
ios_base::sync_with_stdio(false);
9+
cin.tie(NULL);
10+
ll test;
11+
12+
ll i, j, k, n, temp, count = 0, ans = 0, sum = 0;
13+
cin >> n >> k;
14+
15+
map<ll, ll> m;
16+
ll arr[n];
17+
for(i = 0; i < n; i++)
18+
{
19+
cin >> arr[i];
20+
if(arr[i] < k)
21+
{
22+
temp = k - arr[i];
23+
24+
if(m.find(temp) != m.end())
25+
{
26+
j = m.find(temp) -> second;
27+
cout << j + 1 << " " << i + 1 << endl;
28+
ans = 1;
29+
break;
30+
}
31+
}
32+
m[arr[i]] = i;
33+
}
34+
35+
if(!ans)
36+
{
37+
cout << "IMPOSSIBLE" << endl;
38+
}
39+
40+
return 0;
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
int main()
7+
{
8+
ios_base::sync_with_stdio(false);
9+
cin.tie(NULL);
10+
ll test;
11+
cin >> test;
12+
while(test--)
13+
{
14+
ll i, j, k, n, temp, count = 0, ans = 0, sum = 0;
15+
cin >> n;
16+
ll arr[n];
17+
18+
for(i = 0; i < n; i++)
19+
{
20+
cin >> arr[i];
21+
if(arr[i] == 1)
22+
{
23+
j = i;
24+
}
25+
if(arr[i] == n)
26+
{
27+
k = i;
28+
}
29+
}
30+
31+
temp = min(j, k);
32+
sum = max(j, k);
33+
34+
ans = min(sum + 1, n - temp);
35+
ans = min(ans, n + 1 + temp - sum);
36+
37+
cout <<ans << endl;
38+
}
39+
40+
return 0;
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
int main()
7+
{
8+
ios_base::sync_with_stdio(false);
9+
cin.tie(NULL);
10+
ll test;
11+
cin >> test;
12+
while(test--)
13+
{
14+
ll i, j, k, n, temp, count = 0, ans = 0, sum = 0;
15+
cin >> n;
16+
ll arr[n];
17+
18+
for(i = 0; i < n; i++)
19+
{
20+
cin >> arr[i];
21+
}
22+
23+
sum = accumulate(arr, arr + n, sum);
24+
25+
if(sum % n != 0)
26+
{
27+
ans = -1;
28+
}
29+
else
30+
{
31+
temp = sum / n;
32+
33+
sort(arr, arr + n);
34+
35+
for(i = 0; i < n; i++)
36+
{
37+
if(arr[i] > temp)
38+
{
39+
ans++;
40+
}
41+
}
42+
}
43+
44+
cout << ans << endl;
45+
}
46+
47+
return 0;
48+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#include <bits/stdc++.h>
2+
#define ll long long int
3+
#define endl "\n"
4+
using namespace std;
5+
6+
7+
int main()
8+
{
9+
ios_base::sync_with_stdio(false);
10+
cin.tie(NULL);
11+
ll test;
12+
cin >> test;
13+
while(test--)
14+
{
15+
ll i, j, k, n, temp, count = 0, ans = 0, sum = 0, l, r;
16+
cin >> n >> l >> r;
17+
ll arr[n];
18+
19+
for(i = 0; i < n; i++)
20+
{
21+
cin >> arr[i];
22+
}
23+
24+
sort(arr, arr + n);
25+
26+
ll low = n - 1;
27+
ll high = n - 1;
28+
i = 0;
29+
30+
while(i < high)
31+
{
32+
low = max(i, low);
33+
while(low > i and arr[i] + arr[low] >= l)
34+
{
35+
low--;
36+
}
37+
38+
while(high > low and arr[i] + arr[high] > r)
39+
{
40+
high--;
41+
}
42+
43+
ans += (high - low);
44+
i++;
45+
}
46+
47+
cout << ans << endl;
48+
}
49+
50+
return 0;
51+
}

0 commit comments

Comments
 (0)