Pagini recente » Cod sursa (job #954658) | Cod sursa (job #1986062) | Cod sursa (job #1536682) | Cod sursa (job #2113323) | Cod sursa (job #1710101)
#include <fstream>
using namespace std;
const int N_MAX = 1000050;
const int MOD = 19997;
int N;
int v[N_MAX];
int ret[N_MAX];
int steps[N_MAX];
int main() {
ifstream f("twoton.in");
ofstream g("twoton.out");
f >> N;
for(int i = 0; i < N; i++)
f >> v[i];
steps[N - 1] = 1;
ret[N - 1] = v[N - 1];
for(int i = N - 2; i >= 0; i--) {
steps[i] = 1 + steps[i + 1];
if(steps[i] >= MOD) steps[i] -= MOD;
if(v[i] < ret[i + 1]) {
ret[i] = v[i];
} else {
ret[i] = ret[i + 1];
steps[i] += steps[i + 1];
if(steps[i] >= MOD) steps[i] -= MOD;
}
}
g << steps[0] << '\n';
return 0;
}