Cod sursa(job #1714912)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 9 iunie 2016 17:54:58
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.61 kb
#include <fstream>

using namespace std;

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

const int NMAX = 1000007;
const int Mod = 19997;

int a[NMAX], Ans[NMAX];
int n;

int wtf() {
    Ans[n - 1] = 1;
    int Min = a[n - 1];
    for(int i = n - 2; i >= 0; --i) {
        if(a[i] < Min) {
            Ans[i] = (1 + Ans[i + 1]) % Mod;
            Min = a[i];
        }
        else {
            Ans[i] = (1 + (Ans[i + 1] << 1)) % Mod;
        }
    }
}

int main() {
    cin >> n;
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    wtf();
    cout << Ans[0];
}