Cod sursa(job #1710154)

Utilizator xtreme77Patrick Sava xtreme77 Data 28 mai 2016 16:32:15
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

# define pb push_back
# define mp make_pair
# define FORN( a , b , c ) for ( int a = b ; a <= c ; ++ a )
# define FORNBACK( a , b , c ) for ( int a = b ; a >= c ; -- a )
const int Nmax = 100001;
const int MOD = 19997;
int N,a[Nmax],d[Nmax],w;
int main()
{
    ios :: sync_with_stdio ( false ) ;

    freopen( "twoton.in" , "r" , stdin ) ;
    freopen( "twoton.out" , "w" , stdout ) ;
    cin>>N;
    for(int i=1;i<=N;i++) cin>>a[i];
    d[N]=1,w=a[N];
    for(int i=N-1;i>=1;i--){
        if(a[i]<w){
            w=a[i];
            d[i]=(d[i+1]+1)%MOD;
        }
        else{
            d[i]=(2*d[i+1]+1)%MOD;
        }
    }
    cout<<d[1]<<"\n";
    return 0 ;
}