Submission #14156414
Source Code Expand
#include <cstdio>
#include <algorithm>
typedef long long LL;
const int MN = 200005;
int N, stk[MN], tp;
LL A[MN], B[MN], C[MN], f[MN], Ans;
int main() {
scanf("%d", &N);
for (int i = 1; i <= N; ++i) scanf("%lld", &A[i]);
for (int i = 1; i <= N; ++i) scanf("%lld", &B[i]);
int p = std::max_element(A + 1, A + N + 1) - A;
std::rotate(A + 1, A + p, A + N + 1);
std::rotate(B + 1, B + p, B + N + 1);
A[N + 1] = A[1];
for (int i = 2; i <= N; ++i) C[i + 1] = 2 * (C[i] + B[i]) - C[i - 1];
for (int i = 1; i <= N + 1; ++i) {
A[i] -= C[i];
while (tp > 1 && (A[stk[tp]] - A[stk[tp - 1]]) * (i - stk[tp]) <= (A[i] - A[stk[tp]]) * (stk[tp] - stk[tp - 1])) --tp;
stk[++tp] = i;
}
for (int i = 2; i <= tp; ++i) {
int c = stk[i] - stk[i - 1];
Ans += A[stk[i - 1]] * (c + 1) + A[stk[i]] * (c - 1);
}
for (int i = 1; i <= N; ++i) Ans += 2 * C[i];
printf("%.12lf\n", Ans / (2. * N));
return 0;
}
Submission Info
| Submission Time |
|
| Task |
E - Random Pawn |
| User |
gstdio |
| Language |
C++ (GCC 9.2.1) |
| Score |
1300 |
| Code Size |
936 Byte |
| Status |
AC |
| Exec Time |
51 ms |
| Memory |
7184 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:11:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
11 | scanf("%d", &N);
| ~~~~~^~~~~~~~~~
./Main.cpp:12:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
12 | for (int i = 1; i <= N; ++i) scanf("%lld", &A[i]);
| ~~~~~^~~~~~~~~~~~~~~
./Main.cpp:13:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
13 | for (int i = 1; i <= N; ++i) scanf("%lld", &B[i]);
| ~~~~~^~~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
1300 / 1300 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example0.txt, example1.txt, example2.txt, example3.txt |
| All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, example0.txt, example1.txt, example2.txt, example3.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 000.txt |
AC |
1 ms |
1696 KiB |
| 001.txt |
AC |
1 ms |
1672 KiB |
| 002.txt |
AC |
47 ms |
6348 KiB |
| 003.txt |
AC |
48 ms |
6440 KiB |
| 004.txt |
AC |
16 ms |
3024 KiB |
| 005.txt |
AC |
13 ms |
2844 KiB |
| 006.txt |
AC |
42 ms |
6476 KiB |
| 007.txt |
AC |
20 ms |
2932 KiB |
| 008.txt |
AC |
16 ms |
2944 KiB |
| 009.txt |
AC |
44 ms |
6664 KiB |
| 010.txt |
AC |
46 ms |
7068 KiB |
| 011.txt |
AC |
48 ms |
7184 KiB |
| 012.txt |
AC |
45 ms |
6628 KiB |
| 013.txt |
AC |
45 ms |
6852 KiB |
| 014.txt |
AC |
51 ms |
7184 KiB |
| 015.txt |
AC |
51 ms |
7160 KiB |
| example0.txt |
AC |
1 ms |
1652 KiB |
| example1.txt |
AC |
1 ms |
1660 KiB |
| example2.txt |
AC |
1 ms |
1664 KiB |
| example3.txt |
AC |
1 ms |
1748 KiB |