Cod sursa(job #1709918)

Utilizator UCV_DUMITRU_ENACHE_MITROIUCV DUMITRU MITROI ENACHE UCV_DUMITRU_ENACHE_MITROI Data 28 mai 2016 14:25:36
Problema Twoton Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.77 kb
#include <iostream>
#include <limits.h>
#include <stdio.h>
using namespace std;

int w[1000000];
int wc[1000000];

int n;
int a[1000024];

int main()
{
    FILE *fin = fopen("twoton.in","r");
    FILE *fout = fopen("twoton.out","w");

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

    w[n-1] = a[n-1];
    wc[n-1] = 1;


    for(int i = n-2; i >= 0; i--){
        if(a[i] > w[i+1]){
            wc[i] = 1 + 2 * wc[i+1];
            wc[i] %= 19997;
            w[i] = w[i+1];

        }else {
            wc[i] = 1 +  wc[i+1];
            wc[i]  %= 19997;
            w[i] = a[i];

        }
    }

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

    fclose(fin);
    fclose(fout);

    return 0;
}