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
101
102
#include <iostream>

using namespace std;

int main()
{
   int n,z,l;
   bool odpowiedz;
   cin >> n;
   cin >> z;
   int ** potwory = new int * [2];
   

   for(int i=0; i<n; i++)
   {
	   potwory[i] = new int [2];
	   for(int j=0; j<2; j++)
	   {
		   cin >> potwory[i][j];

	   }
   }
   
   l=z;
   for(int i=0; i<n; i++)
   {
		for(int i=0; i<n; i++)
		{
			z=z-potwory[i][0];
			if(z<=0)
			{
				odpowiedz=false;
				int b1,b2;
				b1=potwory[0][0];
				b2=potwory[0][1];
				for(int j=0; j<n-1; j++)
				{
					potwory[j][0]=potwory[j+1][0];
					potwory[j][1]=potwory[j+1][1];
				}
				potwory[n-1][0]=b1;
				potwory[n-1][1]=b2;
				break;

			}
			else
			{
			   z=z+potwory[i][1];
		       odpowiedz=true;
			}
	  		
		}
		if(odpowiedz == true)
		{
		   cout << "TAK";
		   break;
		}
	z=l;
   }
    if(odpowiedz == false)
	{
		for(int i=0; i<n; i++)
		{
			for(int i=n-1; i>=0; i++)
			{
				z=z-potwory[i][0];
				if(z<=0)
				{
					odpowiedz=false;
					int b1,b2;
					for(int j=n-1; j>0; j--)
					{
						b1=potwory[0][0];
						b2=potwory[0][1];
						potwory[j][0]=potwory[j-1][0];
						potwory[j][1]=potwory[j-1][1];
					}
					potwory[0][0]=b1;
					potwory[0][1]=b2;
					break;

				}
				else
				{
					z=z+potwory[i][1];
					odpowiedz=true;
				}
	  		
			}
			if(odpowiedz == true)
			{
				cout << "TAK";
				break;
			}
		z=l;
		}
	}
	if(odpowiedz == false)
		cout << "NIE";


}