Cod sursa(job #1786476)

Utilizator eukristianCristian L. eukristian Data 23 octombrie 2016 00:08:27
Problema Twoton Scor 100
Compilator c Status done
Runda Arhiva ICPC Marime 0.61 kb
#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;
}