Cod sursa(job #1709126)

Utilizator ALL10iUPB ALL10i ALL10i Data 28 mai 2016 10:59:33
Problema Twoton Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.59 kb
#include <stdio.h>

int n;
int a[1000024];
int wtf_v[1000024];
static const int modulo = 19997;
int count = 0;

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

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]);
	}
	wtf();
	fprintf(fout, "%d\n", wtf_v[0]);
	fclose(fin);
	fclose(fout);
}