Pagini recente » Cod sursa (job #1622041) | Cod sursa (job #180171) | Cod sursa (job #1880808) | Cod sursa (job #1189369) | Cod sursa (job #1753185)
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int n;
int a[100005],minim[100005],sol[100005];
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]);
minim[n-1] = a[n-1];
for (int i = n-2; i>=0; i--)
{
minim[i] = min(a[i],minim[i+1]);
}
sol[n-1] = 1;
for (int i = n-2; i>=0; i--)
{
if (a[i] == minim[i])
{
sol[i] = (1+sol[i+1]) % 1997;
}
else
{
sol[i] = (1+2*sol[i+1]) % 1997;
}
}
printf("%d",sol[0]);
return 0;
}