Cod sursa(job #1900641)

Utilizator prazillaPrazilla prazilla Data 3 martie 2017 15:31:06
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.53 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

#define N 100003
#define w 19997
int n, i, a[N], m[N], d[N];

int main() {
    freopen("twoton.in", "r", stdin);
    freopen("twoton.out", "w", stdout);
    scanf("%i", &n);
    for (i = 1; i <= n; i++)
        scanf("%i", &a[i]);
    d[n] = 1;
    m[n] = a[n];
    for (i = n - 1; i >= 1; i--) {
        if (a[i] < m[i + 1]) d[i] = (1 + d[i + 1]) % w;
        else d[i] = (1 + 2 * d[i + 1]) % w;
        m[i] = min(a[i], m[i + 1]);
    }
    printf("%i",d[1]);
    return 0;
}