Cod sursa(job #2202312)

Utilizator btcanulBotici Alexandru btcanul Data 8 mai 2018 13:42:37
Problema Twoton Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <math.h>


using namespace std;


ifstream in("twoton.in");
ofstream out("twoton.out");

int n;
int a[1000024];

pair<long long int,long long int> calc(pair<long long int,long long int> i){
    i.second += 1;
    if(i.first == n-1){
        return i;
    }
    pair<long long int,long long int> aux = calc(make_pair(i.first+1,0));
    if(a[i.first] < a[aux.first]){
        i.second += aux.second;
        return i;
    }else{
        aux.second *= 2;
        aux.second += i.second;
        return aux;
    }
}


int main()
{
    in>>n;
    for(int i=0;i<n;++i){
        in>>a[i];

    }
    pair<long long int,long long int> aux = calc(make_pair(0,0));
    out<< aux.second % 19997;
    return 0;
}