Cod sursa(job #1709839)

Utilizator bogdan0707Matei Bogdan bogdan0707 Data 28 mai 2016 14:07:41
Problema Twoton Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.65 kb
#include <stdio.h>

int n;
int a[1000024];
int w[1000024];
int count = 0;

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]);
	}
	if (n > 0)
	{
		w[0] = 1;
		count = 1;
		int pos = 0, min = a[0];
		for (int i = 1; i < n; i++)
			if (min >= a[i])
			{
				min = a[i];
				pos = i;
			}
		for (int i = 1; i < n; i++)
		{
			if (i > pos && a[i - 1] < a[i])
				w[i] = w[i - 1];
			else w[i] = 2 * w[i - 1];
			count += w[i];
			count %= 19997;
		}
	}
	fprintf(fout, "%d\n", count);
	fclose(fin);
	fclose(fout);
}