Pagini recente » Cod sursa (job #2362337) | Cod sursa (job #2482353) | Cod sursa (job #3121374) | Cod sursa (job #776633) | Cod sursa (job #1773533)
#include <fstream>
using namespace std;
int v[1000024];
int dp[1000024];
int mn[1000024];
const int MOD = 19997;
int main()
{
ifstream in("twoton.in");
ofstream out("twoton.out");
int n;
in >> n;
for (int i = 1; i <= n; i++)
in >> v[i];
mn[n+1] = 0x3f3f3f3f;
for (int i = n; i > 0; i--)
mn[i] = min(v[i], mn[i+1]);
for (int i = n-1; i > 0; i--)
{
dp[i] = (1 + dp[i+1]) % MOD;
if (v[i] >= mn[i+1])
dp[i] = (dp[i] * 2) % MOD;
}
out << (dp[1] + 1) % MOD << '\n';
return 0;
}