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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <bits/stdc++.h>                                                        
                                                                                
using namespace std;                                                            
                                                                                
int main()                                                                      
{                                                                               
    std::ios_base::sync_with_stdio(0);                                          
    cin.tie(0);                                                                 
                                                                                
    int n, k;                                                                   
    cin >> n >> k;                                                              
                                                                                
    vector <int> c(n);                                                          
    for (int i = 0; i < n; i++)                                                 
    {                                                                           
        cin >> c[i];                                                            
    }                                                                           
                                                                                
    if (k > 3)                                                                  
    {                                                                           
        int a, b = 0;                                                           
        for (int i = 0; i < n-1; i++)                                           
        {                                                                       
            if (c[i] >= c[i + 1])                                                
            {                                                                   
                a = i;                                                          
                b = i + 1;                                                      
                break;                                                          
            }                                                                   
        }                                                                       
        if (b == 0)                                                             
        {                                                                       
            cout << "NIE";                                                      
            return 0;                                                           
        }                                                                       
        else                                                                    
        {                                                                       
            cout << "TAK" << endl;                                              
        }                                                                   
        if (b + 1 >= k)                                                          
        {                                                                       
            k-=3;                                                           
            for (int i = 1; i < k; i++)                                     
            {                                                               
                cout << i << " ";                                       
            }        
            cout << a << " " << a + 1 << " " << b + 1;                                                        
        }                                                                       
        else                                                                    
        {                                                                       
            for (int i = 1; i < k; i++)                                         
            {                                                                   
                cout << i << " ";                                       
            }                                                                   
        }                                                                       
    }                                                                           
    else                                                                        
    {                                                                           
        if (k == 3)                                                             
        {                                                                       
            int min = 0;                                                        
            int max = n-1;                                                      
            for (int i = 0; i < n; i++)                                         
            {                                                                   
                if (c[min] >= c[i])                                              
                {                                                               
                    min = i;                                                    
                }                                                               
                if (c[max] <= c[i] && i != n - 1)                                              
                {                                                               
                    max = i;                                                    
                }                                                               
            }                                                                   
            if (min != 0)                                                       
            {                                                                   

                cout << "TAK" << endl << min << " " << min + 1;                 
            }                                                                   
            else                                                                
            {                                                                   
                if (max != n - 1)                                               
                {                                                               

                    cout << "TAK" << endl << max << " " << max + 1;             
                }                                                               
                else                                                            
                {                                                               
                    cout << "NIE";                                              
                }                                                               
            }                                                                   
        }                                                                       
        if (k == 2)                                                             
        {                                                                       
            vector <int> maxsuf (n);
            vector <int> minpre (n); 
            int min = c[0], max = c[n-1];              

            for (int i = 0; i < n; i++)
            {
                if (c[i] < min)
                {
                    min = c[i];
                }
                minpre[i] = min;
            }                   
            for (int i = n - 1; i > -1; i--)
            {
                if (c[i] > max)
                {
                    max = c[i];
                }
                maxsuf[i] = max;
            }        

            for (int i = 1; i < n; i++)
            {
                if (minpre[i - 1] >= maxsuf[i])
                {
                    cout << "TAK" << endl << i;
                    return 0;
                }
            }
            cout << "NIE";
        }                                                                       
    }                                                                           
}