new file: B3881.cpp
This commit is contained in:
1 parent
9ec0003de0
commit
c54ca05fe8
2 files changed
+67
No files matched your search
@@ -0,0 +1,23 @@
|
|||||||
|
#include <bits/stdc++.h>
|
||||||
|
#define int long long
|
||||||
|
using namespace std;
|
||||||
|
int n, k, p[1000005];
|
||||||
|
signed main() {
|
||||||
|
scanf("%lld%lld%lld", &n, &k, &p[1]);
|
||||||
|
for (int i = 2; i <= k; ++i)
|
||||||
|
p[i] = p[i - 1] + ((p[i - 1] * 7ll + 7) % 10) + 1;
|
||||||
|
sort(p + 1, p + k + 1);
|
||||||
|
int ans = 0;
|
||||||
|
for (int l = 1, r = p[k] - p[1], mid = (l + r) >> 1; l <= r; mid = (l + r) >> 1) {
|
||||||
|
int cnt = 1, lst = p[1];
|
||||||
|
for (int i = 2; i <= k && cnt < n; ++i)
|
||||||
|
if (p[i] - lst >= mid)
|
||||||
|
++cnt, lst = p[i];
|
||||||
|
if (cnt >= n)
|
||||||
|
ans = mid, l = mid + 1;
|
||||||
|
else
|
||||||
|
r = mid - 1;
|
||||||
|
}
|
||||||
|
printf("%lld\n", ans);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
# B3881 [信息与未来 2015] 拴奶牛
|
||||||
|
|
||||||
|
## 题目描述
|
||||||
|
|
||||||
|
有 $n$ 头奶牛,有 $k$ 个木桩,每个木桩有一个位置,一个木桩上只能拴一头奶牛。由于奶牛好斗,所以在拴奶牛的时候,要求距离最近的奶牛的距离尽可能大。
|
||||||
|
|
||||||
|
例如 $n=4,k=6$,木桩的位置为 $0,3,4,7,8,9$,此时为下图。
|
||||||
|
$$
|
||||||
|
\begin{aligned}
|
||||||
|
\underline{\text{\qquad O\quad l\quad l\quad O\quad O\quad l\quad l\quad O\quad O\quad O\qquad}}\\
|
||||||
|
\text{\qquad 0\quad\ \quad\ \ \quad 3\ \quad 4\quad\quad\quad\quad 7\quad\ 8\quad\ 9\qquad}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
有许多种拴牛方案,例如:
|
||||||
|
- $0,3,4,9$:此时最近距离为 $1$($3,4$ 之间);
|
||||||
|
- $0,3,7,9$:此时最近距离为 $2$。
|
||||||
|
|
||||||
|
## 输入格式
|
||||||
|
|
||||||
|
三个整数 $n,k,p_1$,其中 $p_1$ 为第 $1$ 个木桩的位置,其他木桩 $p_i(i\ge2)$ 的位置由下面公式给出:
|
||||||
|
|
||||||
|
$p_i = p_{i-1} + ((p_{i-1}\times2357+137) \bmod 10)+1$。
|
||||||
|
|
||||||
|
## 输出格式
|
||||||
|
|
||||||
|
一个整数,即奶牛间最近距离的最大值。
|
||||||
|
|
||||||
|
## 输入输出样例 #1
|
||||||
|
|
||||||
|
### 输入 #1
|
||||||
|
|
||||||
|
```
|
||||||
|
25 70 99
|
||||||
|
```
|
||||||
|
|
||||||
|
### 输出 #1
|
||||||
|
|
||||||
|
```
|
||||||
|
12
|
||||||
|
```
|
||||||
|
|
||||||
|
## 说明/提示
|
||||||
|
|
||||||
|
$1\le n\le k\le10^6,0\le p_1\le100$。
|
||||||
Reference in new issue
Block a user