Cod sursa(job #1709793)

Utilizator bogdan0707Matei Bogdan bogdan0707 Data 28 mai 2016 13:53:34
Problema Twoton Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.61 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]);
	}
	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-1  >= 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);
}