Cod sursa(job #1709357)
Utilizator | Data | 28 mai 2016 11:55:26 | |
---|---|---|---|
Problema | Twoton | Scor | 100 |
Compilator | cpp | Status | done |
Runda | ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest | Marime | 0.54 kb |
#include <fstream>
#define MaxN 1000027
using namespace std;
int dp[MaxN];
int v[MaxN];
ifstream fin("twoton.in");
ofstream fout("twoton.out");
int main() {
int N;
fin >> N;
for (int i = 0; i < N; ++i)
fin >> v[i];
dp[N - 1] = 1;
int minn = v[N - 1];
for (int i = N - 2; i >= 0; --i) {
dp[i] += dp[i + 1] + 1;
if (v[i] >= minn)
dp[i] += dp[i + 1];
else
minn = v[i];
if (dp[i] >= 19997)
dp[i] -= 19997;
}
fout << dp[0] << "\n";
return 0;
}