Cod sursa(job #1709460)

Utilizator utcn_roxanaalexfloUTCN ROXANA ALEX FLO utcn_roxanaalexflo Data 28 mai 2016 12:23:47
Problema Twoton Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.72 kb
#include <iostream>
#include <stdlib.h>
#include <cstdio>
#include <fstream>

using namespace std;
int a[100005];
int c[100005];

int main()
{
	ios::sync_with_stdio(false);

	ifstream inFile("twoton.in");
	ofstream outFile("twoton.out");

	int n;
	int sumTotal;

	inFile >> n;
	for (int i = 0; i < n; i++) {
		inFile >> a[i];
	}

	for (int i = 0; i < n; i++)
		c[i] = 1;


	sumTotal = 1;
	int minSoFar = a[n - 1];

	for (int i = n - 2; i >= 0; i--) {
		if (a[i] < minSoFar) {
			c[i] += c[i + 1];			
			minSoFar = a[i];
		}
		else {
			c[i] +=  c[i + 1] << 1;
		}				

		while (c[i] >= 19997) c[i] -= 19997;
	}

	outFile << c[0];

	inFile.close();
	outFile.close();

    return 0;
}