Precreation contest files

This commit is contained in:
2026-02-11 11:28:23 +07:00
parent 0a8ea477bb
commit cb9f7cab30
134 changed files with 1848 additions and 0 deletions

BIN
misc/binary-search/cpp.out Executable file

Binary file not shown.

View File

@@ -0,0 +1,35 @@
#include <bits/stdc++.h>
using namespace std;
int a[100000];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("ghepcap.inp", "r", stdin);
int n;
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
// 89 90 91 99 100 101
int res = 0;
for (int j = 0; j < n; j++) {
int l = 0, r = j;
// int ans = a[n - 1];
while (l < r) {
int mid = (l + r) / 2;
if (10 * a[mid] < a[j] * 9) {
l = mid + 1;
} else {
r = mid;
// ans = min(ans, mid);
}
}
// res += j - ans;
res += j - l;
}
cout << res << '\n';
}

View File

@@ -0,0 +1,4 @@
6
100 89 90 101 91 99

View File

@@ -0,0 +1,40 @@
#include <bits/stdc++.h>
#include <ios>
using namespace std;
int a[100000];
int n, m;
int checker(int k) {
int ret = 0;
for (int i = 0; i < n; i++) {
ret += k / a[i];
}
return ret;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("p145sumg.inp", "r", stdin);
cin >> n >> m;
int l = 1, r;
for (int i = 0; i < n; i++) {
cin >> a[i];
r = max(r, a[i]);
}
r *= m;
int res = r;
while (l < r) {
int mid = (l + r) / 2;
if (checker(mid) >= m) {
r = mid;
res = min(mid, res);
} else {
l = mid + 1;
}
}
cout << res << "\n";
}

View File

@@ -0,0 +1,8 @@
7 10
3
8
3
6
9
2
4

View File

@@ -0,0 +1,42 @@
#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int n, m;
int check(int k) {
int res = 0;
for (int i = 0; i < n; i++) {
if (a[i] - k > 0)
res += a[i] - k;
}
return res;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("ptit126j.inp", "r", stdin);
cin >> n >> m;
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
// 10 15 17 20
int l = 0, r = a[n - 1];
int res = a[n - 1];
while (l < r) {
int mid = (l + r) / 2;
if (check(mid) >= m) {
// cout << mid << "\n";
res = mid;
l = mid + 1;
} else {
r = mid;
}
}
cout << res << '\n';
}

View File

@@ -0,0 +1,2 @@
5 20
4 42 40 26 46

View File

@@ -0,0 +1,40 @@
#include <bits/stdc++.h>
using namespace std;
int n, m;
int checker(const vector<int> &_a, int k) {
int _n = n;
for (auto i : _a) {
while (i > k) {
i -= k;
_n -= k;
}
if (i > 0) {
_n - k
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("toy.inp", "r", stdin);
cin >> n >> m;
vector<int> a(n);
for (auto &i : a)
cin >> i;
int l = 0, r = n;
while (l < r) {
int mid = (l + r) / 2;
if (checker(a, mid)) {
r = mid;
} else {
l = mid + 1;
}
}
}

View File

@@ -0,0 +1,3 @@
5 2
4
7