Pagini recente » Cod sursa (job #1434010) | Cod sursa (job #3271431) | Cod sursa (job #2656076) | Cod sursa (job #37541) | Cod sursa (job #1710216)
#include <stdio.h>
int n;
int a[1000024],ult[1000024],pasi[1000024];
int count = 0;
int wtf(int i)
{
pasi[i]=1;
if(a[i]<ult[i+1])
{
pasi[i]=(pasi[i]+pasi[i+1])%19997;
return a[i];
} else {
pasi[i]=(pasi[i]+2*pasi[i+1])%19997;
return ult[i+1];
}
}
int main()
{
FILE *fin = fopen("twoton.in", "r");
FILE *fout = fopen("twoton.out", "w");
fscanf(fin, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(fin, "%d", &a[i]);
}
ult[n-1]=a[n-1];
pasi[n-1]=1;
for(int i=n-2;i>=0;--i)
{
ult[i]=wtf(i);
}
fprintf(fout, "%d\n", pasi[0]);
fclose(fin);
fclose(fout);
}