Pagini recente » Cod sursa (job #2649953) | Cod sursa (job #899448) | Cod sursa (job #3133568) | Cod sursa (job #2878239) | Cod sursa (job #553339)
Cod sursa(job #553339)
#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();
}