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
AC × 4
AC × 20
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