Pagini recente » Cod sursa (job #973035) | Cod sursa (job #1744100) | Cod sursa (job #106715) | Cod sursa (job #325161) | Cod sursa (job #1709021)
#include <stdio.h>
#include <iostream>
using namespace std;
int n, dp[1000005], a[1000005];
const int mod = 19997;
int main()
{
FILE *fin = fopen("twoton.in", "r");
FILE *fout = fopen("twoton.out", "w");
fscanf(fin, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(fin, "%d", &a[i]);
}
dp[n - 1] = 1;
int _min = a[n - 1];
for(int i = n - 2; i >= 0 ; -- i) {
dp[i] = (dp[i + 1] + 1) % mod;
if(a[i] >= _min) {
dp[i] = (dp[i + 1] + dp[i]) % mod;
}
_min = min(_min, a[i]);
}
fprintf(fout, "%d\n", dp[0]);
fclose(fin);
fclose(fout);
}