Pagini recente » Cod sursa (job #3271160) | Cod sursa (job #2653416) | Cod sursa (job #679363) | Cod sursa (job #485171) | Cod sursa (job #2913934)
#include <fstream>
using namespace std;
const int MAX_N = 1e5;
const int MOD = 19997;
int a[MAX_N + 1], v[MAX_N + 1], answer[MAX_N + 1];
int n;
int solve(int i) {
if (v[i] == 0) {
answer[i] = 1;
if (i == n) {
v[i] = a[i];
return v[i];
}
int x = solve(i + 1);
answer[i] = (answer[i] + answer[i + 1]) % MOD;
if (a[i] < x) {
v[i] = a[i];
} else {
answer[i] = (answer[i] + answer[i + 1]) % MOD;
v[i] = x;
}
}
return v[i];
}
int main() {
ifstream fin("twoton.in");
ofstream fout("twoton.out");
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> a[i];
}
solve(1);
fout << answer[1];
return 0;
}