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
#include<iostream>
#include<algorithm>

using namespace std;
//hehehheheura
pair<int,pair <int,int> > tab[1000];
int tab1[2000000];
int main(){
    int n,m,p,k,c,kmax=0;
    bool spr=false;
    cin >> n >> m;
    for(int i=0;i<n;i++){
        cin >> p >> k >> c;
        tab[i]=make_pair(k,make_pair(p,c));
        kmax=max(k,kmax);
    }
    sort(tab,tab+n);
    for(int i=1;i<=kmax;i++)
        tab1[i]=m;
    for(int i=0;i<n;i++){
        k=tab[i].first;
        p=tab[i].second.first;
        c=tab[i].second.second;
        for(int j=p;j<=k;j++){
            if(tab1[j] > 0){
                tab1[j]--;
                c--;
            }
            if(c==0)
                break;
        }
        if(c>0){
            spr=true;
            break;
        }
    }
    if(spr)
        cout <<"NIE";
    else
        cout <<"TAK";
    return 0;
}