Cod sursa(job #1709099)

Utilizator PlayHPPet Rescue PlayHP Data 28 mai 2016 10:53:50
Problema Twoton Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.57 kb
#include<cstdio>
#define MAXN 100010
#define MOD 19997
using namespace std;
int v[MAXN];
int dp[MAXN];
int main(){
    freopen("twoton.in","r",stdin);
    freopen("twoton.out","w",stdout);
    int n,i,minim;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&v[i]);
    dp[n]=1;
    minim=v[n];
    for(i=n-1;i>=1;i--){
        if(v[i]<minim){
            minim=v[i];
            dp[i]=dp[i+1]+1;
        }
        else
            dp[i]=2*dp[i+1]+1;
        if(dp[i]>MOD)
            dp[i]-=MOD;
    }
    printf("%d",dp[1]);
    return 0;
}