Cod sursa(job #553341)

Utilizator DevilShadowJunc Raul Cosmin DevilShadow Data 13 martie 2011 22:10:08
Problema Congr Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream.h>

using namespace std;

int v[600005], k, poz[300005];
bool ok = true;
ofstream g ("congr.out");

int back(int n, int s)
{
	for(int j = poz[n - 1] + 1; j <= 2 * k - 1; j ++)
	{
		if(!ok)
			break;
		
		poz[n] = j;
		
		s += v[j];
		
		if(!n)
			poz[n - 1] ++;
		
		if(n != k)
			back(n + 1, s);
		else
		{
			if(s % k == 0)
			{
				for(int i = 1; i <= k; i ++)
					g << poz[i] << ' ';
				g << '\n';
				ok = false;
			}
			
			s -= v[j];
		}
	}
	
	return 0;
}

int main()
{
	ifstream f ("congr.in");
	
	int i;
	
	f >> k;
	
	for(i = 1; i <= k * 2 - 1; i ++)
		f >> v[i];
	
	poz[0] = 0;
	
	back(1, 0);
	
	f.close();
	g.close();
}