Cod sursa(job #1101618)

Utilizator horatiu13Horatiu horatiu13 Data 8 februarie 2014 19:52:45
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
/*http://www.infoarena.ro/problema/bursa*/
#include <cstdio>

using namespace std;

FILE *fi = fopen("bursa.in", "r");
FILE *fo = fopen("bursa.out", "w");
long long s = 0;
long long p = 0;
long long na = 0;
int n;
int a;
int b;

int main()
{
	fscanf(fi, "%d%lld", &n, &s);
	fscanf(fi, "%d", &b);
	
	p = s;
	
	for (int i=1; i<=n+1; i++)
	{
		a = b;
		//if (!feof(fi))
			fscanf(fi, "%d", &b);
		//printf("%d %d\n", a, b);
		if (a >= b || i == n) // vinde p+ na-
		{
			p = p + a*na;
			na = 0;
		}
		else if (a < b)			// cumpara p- na+
		{
			if (p>=a)
			{
				na = na + (int)p/a;
				p = p - na*a;
			}
		}
	}
	
	
	fprintf(fo, "%lld", p-s);
	//printf("\n%lld", p);
	
	return 0;
}