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
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
#include<bits/stdc++.h>
#include "cielib.h"
using namespace std;

int d,k,r;
int lewo[507];
int prawo[507];
int dostepnosc=0;
int iter=0;
int rozp=0;
int tab[507];
int main()
{
	d=podajD();
	k=podajK();
	r=podajR();
	for(int i=0;i<d;i++)
	{
		lewo[i]=0;
		prawo[i]=r;
		tab[i]=r/2;
	}
	tab[0]=1;
	int nie=czyCieplo(tab);
	while(iter<k)
	{
		/*/
		for(int i=0;i<d;i++)
		{
			printf("%d %d\n",lewo[i],prawo[i]);
		}/*/
		int najw=0;
		int ktr;
		for(int i=0;i<d;i++)
		{
			if(najw<prawo[i]-lewo[i])
			{
				najw=prawo[i]-lewo[i];
				ktr=i;
			}
		}
		if(najw<=1)break;
		tab[ktr]=lewo[ktr];
		//int a;
		//scanf("%d",&a);
		int zgadka=czyCieplo(tab);
		tab[ktr]=prawo[ktr];
		//scanf("%d",&a);
		zgadka=czyCieplo(tab);
		if(zgadka==1)lewo[ktr]=(prawo[ktr]+lewo[ktr])/2;
		else
		{
			tab[ktr]=lewo[ktr];
			//scanf("%d",&a);
			zgadka=czyCieplo(tab);
			if(zgadka==1)prawo[ktr]=(prawo[ktr]+lewo[ktr])/2;
			else
			{
				lewo[ktr]=prawo[ktr]=(prawo[ktr]+lewo[ktr])/2;
			}
		}
		tab[ktr]=(lewo[ktr]+prawo[ktr])/2;
		iter++;
	}
	for(int i=0;i<d;i++)
	{
		if(prawo[i]-lewo[i]!=0)
		{
			if(tab[i]!=0)
			{
				tab[i]--;
				//int a;
				//scanf("%d",&a);
				int zgadka=czyCieplo(tab);
				tab[i]+=2;
				//scanf("%d",&a);
				zgadka=czyCieplo(tab);
				if(zgadka==0)tab[i]--;
			}
			else
			{
				tab[i]+=2;
				//int a;
				//scanf("%d",&a);
				int zgadka=czyCieplo(tab);
				tab[i]-=2;
				//scanf("%d",&a);
				zgadka=czyCieplo(tab);
				if(zgadka==0)tab[i]++;
			}
		}
	}
	znalazlem(tab);
	/*/for(int i=0;i<d;i++)
	{
		printf("%d ",tab[i]);
	}
	printf("SIEMA");/*/
	return 0;
}