Cod sursa(job #1712107)

Utilizator rogoz.bogdanRogoz Bogdan rogoz.bogdan Data 2 iunie 2016 00:37:42
Problema Twoton Scor 100
Compilator c Status done
Runda Arhiva ICPC Marime 0.71 kb
#include <stdio.h>
#define MOD 19997

int a[1000024], n;
int v[1000024];

void wtf_iterativ()
{
    int i,minim;
    v[n-1] = 1;
    minim = a[n-1];

    for(i=n-2; i>=0; i--)
    {
        if(a[i] < minim)
        {
            v[i] = (1 + v[i+1]) % MOD;
            minim = a[i];
        }
        else
        {
            v[i] = (1 + 2*v[i+1]) % MOD;
        }
    }
}

int main()
{
    int i;
    FILE *fin, *fout;
    fin = fopen("twoton.in", "r");
    fout = fopen("twoton.out", "w");
    fscanf(fin, "%d", &n);

    for(i=0; i<n; i++)
        fscanf(fin, "%d", &a[i]);

    wtf_iterativ();
    fprintf(fout, "%d\n", v[0]);

    fclose(fin);
    fclose(fout);
    return 0;
}