Niestety, nie byliśmy w stanie w pełni poprawnie wyświetlić tego pliku, ponieważ nie jest zakodowany w UTF-8. Możesz pobrać ten plik i spróbować otworzyć go samodzielnie.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <algorithm>


using namespace std;
int n,i;		
long long int o, ilestabilnych=0;

int myints[250000];

//funkcja sprawdza ile jest inwersji (wi�kszych element�w wcze�niej) w danej permutacji. (
//Najpierw liczy ile jest permutacji w danej permutacji (leksykalnie-wiekszychwleksyk) a p�niej w odwrotnej (antyleksykalnie-wiekszychwanty)
//p�niej por�wnuje te liczby, je�li s� r�en, drukuje je

int sprawdz (void)
{
	int wiekszychwleksyk=0, wiekszychwanty=0, i, j, k;
	for (j=1;j<=n-1;j++)
	 for (k=j;k<=n;k++)
	if (myints[j]>myints[k]) wiekszychwleksyk++;
	
	for (j=n;j>=2;j--)
	 for (k=j;k>=1;k--)
	if (myints[j]>myints[k]) wiekszychwanty++;
	
	
	if (wiekszychwleksyk==wiekszychwanty) 
	{
		ilestabilnych++; 
		if (ilestabilnych==o) 
		{	
			cout<<"TAK\n";
			for (i=1;i<=n;i++)cout << myints[i]<<' ';
			
		}
	
	}	
	
	return 0;
}


int main(void) 
{
	ios_base::sync_with_stdio(0); 
	cin>>n>>o;		//zamiast n i k jako zmienne o kt�re pyta program, zastosowano n i o
	for (i=1;i<=n;i++) myints[i]=i;
	do 
	{
    	sprawdz();
  	} 
  	while (next_permutation(myints+1,myints+n+1) );
	if (ilestabilnych<o)	cout<<"NIE";
	return 0;
}