From 0c692c1357a83fb0ceeee5d3ae18861134c11aea Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Thu, 15 Sep 2022 17:07:38 +0800 Subject: [PATCH] 3312. [USACO2013 Nov] No Change https://hydro.ac/d/bzoj/record/6322eb3d32ae6c3198cc9a01 --- BZOJ/3312/3312.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++ BZOJ/3312/data/1.in | 3 ++ BZOJ/3312/data/1.out | 3 ++ BZOJ/3312/data/10.in | 3 ++ BZOJ/3312/data/10.out | 3 ++ BZOJ/3312/data/11.in | 3 ++ BZOJ/3312/data/11.out | 3 ++ BZOJ/3312/data/12.in | 3 ++ BZOJ/3312/data/12.out | 3 ++ BZOJ/3312/data/13.in | 3 ++ BZOJ/3312/data/13.out | 3 ++ BZOJ/3312/data/2.in | 3 ++ BZOJ/3312/data/2.out | 3 ++ BZOJ/3312/data/3.in | 3 ++ BZOJ/3312/data/3.out | 3 ++ BZOJ/3312/data/4.in | 3 ++ BZOJ/3312/data/4.out | 3 ++ BZOJ/3312/data/5.in | 3 ++ BZOJ/3312/data/5.out | 3 ++ BZOJ/3312/data/6.in | 3 ++ BZOJ/3312/data/6.out | 3 ++ BZOJ/3312/data/7.in | 3 ++ BZOJ/3312/data/7.out | 3 ++ BZOJ/3312/data/8.in | 3 ++ BZOJ/3312/data/8.out | 3 ++ BZOJ/3312/data/9.in | 3 ++ BZOJ/3312/data/9.out | 3 ++ 27 files changed, 147 insertions(+) create mode 100644 BZOJ/3312/3312.cpp create mode 100644 BZOJ/3312/data/1.in create mode 100644 BZOJ/3312/data/1.out create mode 100644 BZOJ/3312/data/10.in create mode 100644 BZOJ/3312/data/10.out create mode 100644 BZOJ/3312/data/11.in create mode 100644 BZOJ/3312/data/11.out create mode 100644 BZOJ/3312/data/12.in create mode 100644 BZOJ/3312/data/12.out create mode 100644 BZOJ/3312/data/13.in create mode 100644 BZOJ/3312/data/13.out create mode 100644 BZOJ/3312/data/2.in create mode 100644 BZOJ/3312/data/2.out create mode 100644 BZOJ/3312/data/3.in create mode 100644 BZOJ/3312/data/3.out create mode 100644 BZOJ/3312/data/4.in create mode 100644 BZOJ/3312/data/4.out create mode 100644 BZOJ/3312/data/5.in create mode 100644 BZOJ/3312/data/5.out create mode 100644 BZOJ/3312/data/6.in create mode 100644 BZOJ/3312/data/6.out create mode 100644 BZOJ/3312/data/7.in create mode 100644 BZOJ/3312/data/7.out create mode 100644 BZOJ/3312/data/8.in create mode 100644 BZOJ/3312/data/8.out create mode 100644 BZOJ/3312/data/9.in create mode 100644 BZOJ/3312/data/9.out diff --git a/BZOJ/3312/3312.cpp b/BZOJ/3312/3312.cpp new file mode 100644 index 00000000..e8377859 --- /dev/null +++ b/BZOJ/3312/3312.cpp @@ -0,0 +1,69 @@ +#include + +using std::cin; +using std::cout; +const char endl = '\n'; + +const int N = 100005; + +int k, n, w[20], s[N], f[1 << 17], ans; +bool flag; + +inline int find(int x, int y) { + int l = f[x], + r = std::min(n, f[x] + w[y]); + + int res = l; + while (l <= r) { + int mid = l + r >> 1; + + if (s[mid] - s[f[x]] <= w[y]) { + res = mid; + l = mid + 1; + } else { + r = mid - 1; + } + } + + return res; +} + +int main() { + std::ios::sync_with_stdio(false); + cin.tie(nullptr); + + cin >> k >> n; + + for (int i = 0; i < k; i++) { + cin >> w[i]; + } + + for (int i = 1, x; i <= n; i++) { + cin >> x; + + s[i] = s[i - 1] + x; + } + + for (int i = 0; i < 1 << k; i++) { + for (int j = 0; j < k; j++) { + if (!(i & (1 << j))) { + f[i | (1 << j)] = std::max(f[i | (1 << j)], find(i, j)); + } + } + + if (f[i] == n) { + flag = true; + + int sum = 0; + for (int j = 0; j < k; j++) { + if (!(i & (1 << j))) sum += w[j]; + } + + ans = std::max(ans, sum); + } + } + + cout << (flag ? ans : -1) << endl; + + return 0; +} diff --git a/BZOJ/3312/data/1.in b/BZOJ/3312/data/1.in new file mode 100644 index 00000000..cc1babef --- /dev/null +++ b/BZOJ/3312/data/1.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffdd9d1d7e9ce47d9cbce7af6907b55fa43b0371a229e833a3b3990ff047a5bf +size 78 diff --git a/BZOJ/3312/data/1.out b/BZOJ/3312/data/1.out new file mode 100644 index 00000000..311c4506 --- /dev/null +++ b/BZOJ/3312/data/1.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee3aa64bb94a50845d5024cd4bd20202a4567aed5cd5328c0d97e9920775fc28 +size 3 diff --git a/BZOJ/3312/data/10.in b/BZOJ/3312/data/10.in new file mode 100644 index 00000000..f65a05c3 --- /dev/null +++ b/BZOJ/3312/data/10.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a50f0fbc210fbc995d3ff9ce8f370dc05840e36b702db8d4fec199e9e316c9ab +size 337562 diff --git a/BZOJ/3312/data/10.out b/BZOJ/3312/data/10.out new file mode 100644 index 00000000..8c6d9a12 --- /dev/null +++ b/BZOJ/3312/data/10.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19df8d6fbe6ea6decbe06b6f0195ebe8d46a11a8b991eec35f059dd934f9ae18 +size 10 diff --git a/BZOJ/3312/data/11.in b/BZOJ/3312/data/11.in new file mode 100644 index 00000000..c3109f3e --- /dev/null +++ b/BZOJ/3312/data/11.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986718948b83f5a5cad2c8c30f8e992413e9353cbb731828595527c107525185 +size 489165 diff --git a/BZOJ/3312/data/11.out b/BZOJ/3312/data/11.out new file mode 100644 index 00000000..edaa6824 --- /dev/null +++ b/BZOJ/3312/data/11.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc2cd5d53d77109417f8a5f99b1deb2131090d56f7e74ef9b2e93d983cc846a4 +size 10 diff --git a/BZOJ/3312/data/12.in b/BZOJ/3312/data/12.in new file mode 100644 index 00000000..8d1138a5 --- /dev/null +++ b/BZOJ/3312/data/12.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7cbfd17cf1a7cf6da718b6b79e2e0a40428b02908525cdd32c1e2a4a535fce0 +size 25 diff --git a/BZOJ/3312/data/12.out b/BZOJ/3312/data/12.out new file mode 100644 index 00000000..396b6814 --- /dev/null +++ b/BZOJ/3312/data/12.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1fb50e6c86fae1679ef3351296fd6713411a08cf8dd1790a4fd05fae8688164 +size 3 diff --git a/BZOJ/3312/data/13.in b/BZOJ/3312/data/13.in new file mode 100644 index 00000000..54e18ac1 --- /dev/null +++ b/BZOJ/3312/data/13.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:751e4608786d2b5facd77c503769a8f10e62f1467a79e2fac9a1e320dd7ab093 +size 489228 diff --git a/BZOJ/3312/data/13.out b/BZOJ/3312/data/13.out new file mode 100644 index 00000000..d2e7d744 --- /dev/null +++ b/BZOJ/3312/data/13.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cbbc45b2c00554d6e23c6e0877370af0497ab61dbf20a64696e60237fbb61ae +size 10 diff --git a/BZOJ/3312/data/2.in b/BZOJ/3312/data/2.in new file mode 100644 index 00000000..05e18cb1 --- /dev/null +++ b/BZOJ/3312/data/2.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f24f0618d291cb0abae52b6c43519eb01a3a29ec8812b33c2d0e3993adfec7b +size 102396 diff --git a/BZOJ/3312/data/2.out b/BZOJ/3312/data/2.out new file mode 100644 index 00000000..804fcc90 --- /dev/null +++ b/BZOJ/3312/data/2.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa +size 2 diff --git a/BZOJ/3312/data/3.in b/BZOJ/3312/data/3.in new file mode 100644 index 00000000..b97f8869 --- /dev/null +++ b/BZOJ/3312/data/3.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:948918dc991bb26d34c9735f9e80a4c4aef18bead2f46c122a637972896adf2a +size 6080 diff --git a/BZOJ/3312/data/3.out b/BZOJ/3312/data/3.out new file mode 100644 index 00000000..863f38af --- /dev/null +++ b/BZOJ/3312/data/3.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba6924b89e09d2e7d11e047fcbff2c187404bea2bc7c3ec7cfcdb05d165aacf4 +size 9 diff --git a/BZOJ/3312/data/4.in b/BZOJ/3312/data/4.in new file mode 100644 index 00000000..8dc26c9f --- /dev/null +++ b/BZOJ/3312/data/4.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd858a5f8d832f293ab7bef17052faefc41bfef2b0e8932a01a50265411bd0d3 +size 388015 diff --git a/BZOJ/3312/data/4.out b/BZOJ/3312/data/4.out new file mode 100644 index 00000000..804fcc90 --- /dev/null +++ b/BZOJ/3312/data/4.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa +size 2 diff --git a/BZOJ/3312/data/5.in b/BZOJ/3312/data/5.in new file mode 100644 index 00000000..d11258e9 --- /dev/null +++ b/BZOJ/3312/data/5.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77f93b7662ffae365129c15a7d7da9f650c20e5db1e105846fc4f83f029e107 +size 134097 diff --git a/BZOJ/3312/data/5.out b/BZOJ/3312/data/5.out new file mode 100644 index 00000000..2dc8b635 --- /dev/null +++ b/BZOJ/3312/data/5.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6df694f1116301c97de477d7e732af35860cfea17136bf1d68b6d11f241977d +size 10 diff --git a/BZOJ/3312/data/6.in b/BZOJ/3312/data/6.in new file mode 100644 index 00000000..305fbbe6 --- /dev/null +++ b/BZOJ/3312/data/6.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8a3786061a158c9dfb0c1e93f9924d72bfa64a8609f5fdc1a35eb555093b5d6 +size 18783 diff --git a/BZOJ/3312/data/6.out b/BZOJ/3312/data/6.out new file mode 100644 index 00000000..60cb51df --- /dev/null +++ b/BZOJ/3312/data/6.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f4e6860a0af104febfc3148b6458e23a2c0105b5ba407ad7d70f86690e9bca6 +size 10 diff --git a/BZOJ/3312/data/7.in b/BZOJ/3312/data/7.in new file mode 100644 index 00000000..7bceb5fd --- /dev/null +++ b/BZOJ/3312/data/7.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b80856deb42120392fc6274c9e1416949bf8a6e2856d90998596d30a8fc34c8 +size 489066 diff --git a/BZOJ/3312/data/7.out b/BZOJ/3312/data/7.out new file mode 100644 index 00000000..ad75b335 --- /dev/null +++ b/BZOJ/3312/data/7.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53173cdd29b4c4afa1a51a7ac363def6d8c2adaf81903c8c21bdf98a43a2b4b8 +size 10 diff --git a/BZOJ/3312/data/8.in b/BZOJ/3312/data/8.in new file mode 100644 index 00000000..cdb555af --- /dev/null +++ b/BZOJ/3312/data/8.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea1273dee0834c8772ec507250c0fc15f8535a7926a4805af6f143198d5239fc +size 18 diff --git a/BZOJ/3312/data/8.out b/BZOJ/3312/data/8.out new file mode 100644 index 00000000..311c4506 --- /dev/null +++ b/BZOJ/3312/data/8.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee3aa64bb94a50845d5024cd4bd20202a4567aed5cd5328c0d97e9920775fc28 +size 3 diff --git a/BZOJ/3312/data/9.in b/BZOJ/3312/data/9.in new file mode 100644 index 00000000..0510cbc8 --- /dev/null +++ b/BZOJ/3312/data/9.in @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:436d481509ca7ead8c4fb855ff389a852e085c9ee52da5601629cb81793f1dfc +size 535 diff --git a/BZOJ/3312/data/9.out b/BZOJ/3312/data/9.out new file mode 100644 index 00000000..311c4506 --- /dev/null +++ b/BZOJ/3312/data/9.out @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee3aa64bb94a50845d5024cd4bd20202a4567aed5cd5328c0d97e9920775fc28 +size 3