Pagini recente » Cod sursa (job #2442771) | Cod sursa (job #278040) | Cod sursa (job #1691956) | Cod sursa (job #1947825) | Cod sursa (job #1709147)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MOD 19997
int n;
int a[1000024];
int aux[1000024];
int countt[1000024];
int main (void) {
freopen("twoton.in", "r", stdin);
freopen("twoton.out", "w", stdout);
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
aux[n - 1] = a[n - 1];
countt[n - 1] = 1;
for (int i = n - 2; i >= 0; --i) {
aux[i] = min(a[i], aux[i + 1]);
if (a[i] == aux[i]) {
countt[i] = (countt[i + 1] + 1) % MOD;
} else {
countt[i] = (2 * countt[i + 1] + 1) % MOD;
}
}
printf("%d", countt[0]);
return 0;
}