Cod sursa(job #1712199)

Utilizator Cristian1997Vintur Cristian Cristian1997 Data 2 iunie 2016 11:26:15
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.69 kb
using namespace std;
#include <fstream>
#include <vector>
#include <algorithm>
#include <string>
using ll = long long;
using uint = unsigned int;
using ull = unsigned long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
#define Nmax 1000100
#define MOD 19997

int a[Nmax];

int main()
{
	int i, n, wtf, vmin;
	ifstream fin("twoton.in");
	ofstream fout("twoton.out");

	fin >> n;
	for (i = 0; i < n; ++i) fin >> a[i];

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

	fout << wtf << '\n';

	fin.close();
	fout.close();

    return 0;
}