Submission #1871354


Source Code Expand

#include <cstdio>
#include <algorithm>
int N, M, a[100001];
long long x0[100002], x1[100002], O = 1LL << 60;
void add(int x, int y)
{
	if (x < y)
	{
		x0[1] += y - x;
		x0[x + 1] -= y - x;
		x0[y + 1] += y - x;
		x0[M + 1] -= y - x;
		x1[x + 1]--;
		x1[y + 1]++;
		x0[x + 1] += y + 1;
		x0[y + 1] -= y + 1;
	}
	else
	{
		x0[y + 1] += M + y - x;
		x0[x + 1] -= M + y - x;
		x1[x + 1]--;
		x1[M + 1]++;
		x0[x + 1] += M + y + 1;
		x0[M + 1] -= M + y + 1;
		x1[1]--;
		x1[y + 1]++;
		x0[1] += y + 1;
		x0[y + 1] -= y + 1;
	}
}
int main()
{
	scanf("%d%d", &N, &M);
	for (int i = 1; i <= N; i++)
		scanf("%d", a + i);
	for (int i = 1; i < N; i++)
		add(a[i], a[i + 1]);
	for (int i = 2; i <= M; i++)
	{
		x0[i] += x0[i - 1];
		x1[i] += x1[i - 1];
	}
	for (int i = 1; i <= M; i++)
		O = std::min(O, x0[i] + x1[i] * i);
	printf("%lld\n", O);
	return 0;
}

Submission Info

Submission Time
Task E - guruguru
User NiroBC
Language C++14 (GCC 5.4.1)
Score 700
Code Size 896 Byte
Status AC
Exec Time 11 ms
Memory 2176 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:34:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &N, &M);
                       ^
./Main.cpp:36:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", a + i);
                     ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 22
Set Name Test Cases
Sample sample1.txt, sample2.txt
All half0.txt, half1.txt, half2.txt, half3.txt, half4.txt, min_m.txt, min_n.txt, mx0.txt, mx1.txt, mx2.txt, rnd0.txt, rnd1.txt, rnd2.txt, rnd3.txt, rnd4.txt, rnd5.txt, rnd6.txt, rnd7.txt, rnd8.txt, rnd9.txt, sample1.txt, sample2.txt
Case Name Status Exec Time Memory
half0.txt AC 4 ms 1152 KB
half1.txt AC 2 ms 1792 KB
half2.txt AC 6 ms 1536 KB
half3.txt AC 8 ms 1152 KB
half4.txt AC 9 ms 1920 KB
min_m.txt AC 0 ms 128 KB
min_n.txt AC 2 ms 1664 KB
mx0.txt AC 11 ms 2176 KB
mx1.txt AC 11 ms 2048 KB
mx2.txt AC 11 ms 2048 KB
rnd0.txt AC 1 ms 512 KB
rnd1.txt AC 1 ms 256 KB
rnd2.txt AC 1 ms 384 KB
rnd3.txt AC 2 ms 384 KB
rnd4.txt AC 8 ms 512 KB
rnd5.txt AC 1 ms 128 KB
rnd6.txt AC 1 ms 128 KB
rnd7.txt AC 1 ms 512 KB
rnd8.txt AC 1 ms 256 KB
rnd9.txt AC 1 ms 384 KB
sample1.txt AC 0 ms 128 KB
sample2.txt AC 1 ms 128 KB