#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; }
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; } |