Cod sursa(job #466913)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 27 iunie 2010 21:19:56
Problema Congr Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>
#include <stdlib.h>
#define nmax 600002

using namespace std;

const char iname[] = "congr.in";
const char oname[] = "congr.out";
//const int nmax = 600002;

//ifstream fin(iname);
//ofstream fout(oname);

long long P, A[nmax], j, C[nmax], x, y, k, poz, oki;

void test()
{
	int i;
	long long suma = 0;
	for(i = 1; i <= P; i ++)
		suma += A[C[i]];
	if(suma % P == 0)
	{
		oki = 1;
		for(i = 1; i <= P; i ++)
			printf("%lld ", C[i]);
		exit(0);
	}
	return;

}
void back(int k)
{	
	int i;
	if(k - 1 == P)
		test();
	else
		for(i = C[k - 1] + 1; i <= 2 * P - 1 - P + k; i ++)
		{
			C[k] = i;
			back(k + 1);
		}
}

int main()
{	
	freopen(iname, "r", stdin);
	freopen(oname, "w", stdout);
	scanf("%lld", &P);
	int i;
	for(i = 1; i <= 2 * P - 1; i ++)
		scanf("%lld", & A[i]);
	back(1);		
	return 0;
}