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
2017-12-15 00:54:55+0900
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
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