Cod sursa(job #507685)

Utilizator ooctavTuchila Octavian ooctav Data 6 decembrie 2010 16:36:41
Problema Oras Scor 5
Compilator cpp Status done
Runda selectie-vianu-2011 Marime 1.49 kb
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	freopen("oras.in", "r", stdin);
	freopen("oras.out", "w", stdout);
	printf("-1\n");
	/*
	#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

const int NMAX = 30005;
const int nu[] = {2, 3, 7, 11, 19, 23, 37, 0};

int N;
int a[NMAX];
int REZ[NMAX], NR;

int cmmdc, start;

void citi()
{
	scanf("%d", &N);
	for(int i = 1 ; i <= N ; i++)
		scanf("%d", &a[i]);
}

int dv(int a, int b)
{
	int r;
	while(b)
	{
		r = a % b;
		a = b;
		b = r;
	}
	return a;
}

bool apart(int x)
{
	for(int i = 0 ; nu[i] ; i++)
		if(x % nu[i] == 0)
			return 1;
	return 0;
}

bool ok()
{
	for(int i = 1 ; i < N ; i++)
		if(apart(dv(a[i], a[i + 1])))
			return 0;
	return 1;
}

void parcurg()
{
	NR = 0;
	cmmdc = a[1]; start = 1;
	for(int i = 2 ; i <= N ; i++)
	{
		cmmdc = dv(cmmdc, a[i]);
		if(!apart(cmmdc))
		{
			for(int k = i - 1; k >= start ; k--)
				if(!apart(dv(a[i], a[k])) && (start == 1 || !apart(dv(a[start - 1], a[k]))))
				{
					REZ[++NR] = a[k];
					break;
				}
			start = i;
			cmmdc = a[i];
		}
	}
	
	REZ[++NR] = a[start];
		
}

void scrie()
{
	printf("%d\n", NR);
}

int main()
{
	freopen("poly.in", "r", stdin);
	freopen("poly.out", "w", stdout);
	citi();
	//sort(a + 1, a + N + 1);
	do
	{
		parcurg();
		N = NR;
		copy(REZ + 1 , REZ + NR + 1, a + 1);
	}while(!ok());
	scrie();
	return 0;
}
*/
	return 0;
}