Pagini recente » Cod sursa (job #415914) | Cod sursa (job #3291010) | Borderou de evaluare (job #103663) | Istoria paginii preoji2017/clasament | Cod sursa (job #1786476)
#include <stdio.h>
int n;
int a[1000024];
int dyn[1000024];
int wtf[1000024];
int main()
{
freopen("twoton.in", "r", stdin);
freopen("twoton.out","w",stdout);
scanf("%d", &n);
for (int i = 0 ; i < n ; ++i)
scanf("%d", &a[i]);
dyn[n-1] = 1;
wtf[n-1] = a[n-1];
for (int i = n - 2; i >= 0 ; --i)
{
dyn[i] += 1 + dyn[i+1];
if (dyn[i] >= 19997)
dyn[i] -= 19997;
if (wtf[i+1] <= a[i])
{
wtf[i] = wtf[i+1];
dyn[i] += dyn[i+1];
if (dyn[i] >= 19997)
dyn[i] -= 19997;
}
else
{
wtf[i] = a[i];
}
}
printf("%d\n", dyn[0]);
return 0;
}