diff options
author | crupest <crupest@outlook.com> | 2021-03-28 18:26:56 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-03-28 18:26:56 +0800 |
commit | 46bfa3e16a168b527cadb4a5d98290732246f3f7 (patch) | |
tree | 99c961d2c9cf04b6a5d1e60586f8137574c9e80e /works/life | |
parent | ac32eebb6cad203e7a45834d3dc90b639e3d6ed3 (diff) | |
download | crupest-46bfa3e16a168b527cadb4a5d98290732246f3f7.tar.gz crupest-46bfa3e16a168b527cadb4a5d98290732246f3f7.tar.bz2 crupest-46bfa3e16a168b527cadb4a5d98290732246f3f7.zip |
import(life): Add chuanzhi cup final contest.
Diffstat (limited to 'works/life')
-rw-r--r-- | works/life/chuanzhi-cup/final-contest/1.cpp | 32 | ||||
-rw-r--r-- | works/life/chuanzhi-cup/final-contest/2.cpp | 29 | ||||
-rw-r--r-- | works/life/chuanzhi-cup/final-contest/3.cpp | 38 | ||||
-rw-r--r-- | works/life/chuanzhi-cup/final-contest/4.cpp | 86 | ||||
-rw-r--r-- | works/life/chuanzhi-cup/final-contest/5.cpp | 48 |
5 files changed, 233 insertions, 0 deletions
diff --git a/works/life/chuanzhi-cup/final-contest/1.cpp b/works/life/chuanzhi-cup/final-contest/1.cpp new file mode 100644 index 0000000..ad95603 --- /dev/null +++ b/works/life/chuanzhi-cup/final-contest/1.cpp @@ -0,0 +1,32 @@ +#include <iostream> +#include <unordered_set> + +int main() { + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + int n, m; + std::cin >> n >> m; + + std::unordered_set<int> a; + + for (int i = 0; i < n; i++) { + int j; + std::cin >> j; + a.insert(j); + } + + int count = 0; + + for (int i = 0; i < m; i++) { + int j; + std::cin >> j; + if (a.count(j)) { + count++; + } + } + + std::cout << count; + + return 0; +} diff --git a/works/life/chuanzhi-cup/final-contest/2.cpp b/works/life/chuanzhi-cup/final-contest/2.cpp new file mode 100644 index 0000000..6e65576 --- /dev/null +++ b/works/life/chuanzhi-cup/final-contest/2.cpp @@ -0,0 +1,29 @@ +#include <iostream> + +long long a[1010]; + +int main() { + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + int n, k; + std::cin >> n >> k; + + for (int i = 0; i < n; i++) { + std::cin >> a[i]; + } + + long long count = 0; + + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (a[i] * a[j] <= k) { + count++; + } + } + } + + std::cout << count; + + return 0; +} diff --git a/works/life/chuanzhi-cup/final-contest/3.cpp b/works/life/chuanzhi-cup/final-contest/3.cpp new file mode 100644 index 0000000..288e011 --- /dev/null +++ b/works/life/chuanzhi-cup/final-contest/3.cpp @@ -0,0 +1,38 @@ +#include <cctype> +#include <iostream> +#include <string> + +int main() { + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + int T; + std::cin >> T; + + for (int i = 0; i < T; i++) { + int _a, _b; + std::cin >> _a >> _b; + std::string a, b; + std::cin >> a >> b; + + for (char &c : a) { + c = std::tolower(c); + } + + for (char &c : b) { + c = std::tolower(c); + } + + int count = 0; + + for (int i = 0; i < b.size() - a.size() + 1; i++) { + if (a == b.substr(i, a.size())) { + count++; + } + } + + std::cout << count << "\n"; + } + + return 0; +} diff --git a/works/life/chuanzhi-cup/final-contest/4.cpp b/works/life/chuanzhi-cup/final-contest/4.cpp new file mode 100644 index 0000000..19c66d3 --- /dev/null +++ b/works/life/chuanzhi-cup/final-contest/4.cpp @@ -0,0 +1,86 @@ +#include <iostream> +#include <map> + +std::map<int, int> c[3]; + +int main() { + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + int n, m; + + std::cin >> n >> m; + + for (int i = 0; i < 3; i++) { + auto &cc = c[i]; + for (int j = 0; j < n; j++) { + int k; + std::cin >> k; + cc[k]++; + } + } + + int current = 0; + std::pair<int, int> last; + int last_put = 0; + + while (true) { + auto &cc = c[current]; + + if (current == last_put) { + auto i = cc.begin(); + last.first = i->first; + last.second = 1; + if (i->second == 1) { + cc.erase(i); + } else { + i->second--; + } + last_put = current; + } else { + bool can = false; + + for (auto i = cc.upper_bound(last.first); i != cc.end(); ++i) { + if (i->second >= last.second) { + can = true; + i->second -= last.second; + last.first = i->first; + if (i->second == 0) { + cc.erase(i); + } + break; + } + } + + if (!can) { + auto end = cc.upper_bound(last.first); + for (auto i = cc.begin(); i != end; ++i) { + if (i->second > last.second) { + can = true; + i->second -= last.second + 1; + last.first = i->first; + last.second++; + if (i->second == 0) { + cc.erase(i); + } + break; + } + } + } + + if (can) { + last_put = current; + } + } + + if (cc.empty()) { + std::cout << current + 1; + break; + } + + current++; + current %= 3; + } + + return 0; +} diff --git a/works/life/chuanzhi-cup/final-contest/5.cpp b/works/life/chuanzhi-cup/final-contest/5.cpp new file mode 100644 index 0000000..a2707c0 --- /dev/null +++ b/works/life/chuanzhi-cup/final-contest/5.cpp @@ -0,0 +1,48 @@ +#include <algorithm> +#include <iostream> + +int n, m; +int w[100010]; +int c[100010]; + +int main() { + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + std::cin >> n >> m; + + for (int i = 0; i < n; i++) { + std::cin >> w[i]; + } + + for (int i = 0; i < m; i++) { + std::cin >> c[i]; + } + + std::sort(w, w + n); + std::sort(c, c + m); + + int a = 0, b = 0; + int count = 0; + + while (true) { + if (a == n) { + break; + } + if (b == m) { + break; + } + + if (w[a] >= c[b]) { + a++; + b++; + count++; + } else { + a++; + } + } + + std::cout << count; + + return 0; +} |