# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
823198 | rainboy | Real Mountains (CCO23_day1problem2) | C11 | 0 ms | 212 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#define N 1000000
#define INF 0x3f3f3f3f
#define MD 1000003
int min(int a, int b) { return a < b ? a : b; }
int main() {
static int aa[N];
int n, i, l, r, a, b, k, ans;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &aa[i]);
ans = 0;
for (a = 1; ; a++) {
l = 0;
while (l < n && aa[l] <= a)
l++;
if (l == n)
break;
r = n - 1;
while (r >= 0 && aa[r] <= a)
r--;
k = 0;
for (i = l; i <= r; i++)
if (aa[i] <= a)
k++;
if (k > 0) {
ans += (long long) k * (a * 3 + 2) - (a + 1) * 2;
b = INF;
for (i = l; i <= r; i++)
if (aa[i] > a)
b = min(b, aa[i]);
else {
ans += b;
break;
}
b = INF;
for (i = r; i >= l; i--)
if (aa[i] > a)
b = min(b, aa[i]);
else {
ans += b;
break;
}
}
}
printf("%d\n", ans);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |