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 |