#include <bits/stdc++.h> //#include <queue> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(); //queue<int>q; bool wynik; int n,m; int start[n]; int meta[n]; int czas[n]; int startmin; int metamax; int priorindex; int priorvalue; wynik=true; cin>>n>>m; cin>>start[0]>>meta[0]>>czas[0]; startmin=start[0]; metamax=meta[0]; for(int i=1; i<n; i++) { cin>>start[i]>>meta[i]>>czas[i]; startmin=min(startmin, meta[i]); metamax=max(metamax, meta[i]); } //cout<<startmin<<metamax<<endl; for(int j=startmin; j<metamax; j++) { bool warning[1000000]={false}; for(int k=0; k<m; k++) { priorvalue=100000000; for(int l=0; l<n; l++) { if(start[l]<=j && meta[l]>j && warning[l]==false && czas[l]>0) { int prior=meta[l]-czas[l]-j; if(prior<priorvalue){priorvalue=prior; priorindex=l;} } } if(priorvalue!=100000000) { if(priorvalue<0){wynik=false; k=m; j=metamax;} czas[priorindex]--; warning[priorindex]=true; //cout<<priorindex<<endl; //q.push_back(priorindex); } } //array.erase(warning); } for(int o=0; o<n; o++) { if(czas[o]>0){wynik=false;} } if(wynik==false){cout<<"NIE"<<endl;} if(wynik==true){cout<<"TAK"<<endl;} //system ("PAUSE"); 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 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 | #include <bits/stdc++.h> //#include <queue> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(); //queue<int>q; bool wynik; int n,m; int start[n]; int meta[n]; int czas[n]; int startmin; int metamax; int priorindex; int priorvalue; wynik=true; cin>>n>>m; cin>>start[0]>>meta[0]>>czas[0]; startmin=start[0]; metamax=meta[0]; for(int i=1; i<n; i++) { cin>>start[i]>>meta[i]>>czas[i]; startmin=min(startmin, meta[i]); metamax=max(metamax, meta[i]); } //cout<<startmin<<metamax<<endl; for(int j=startmin; j<metamax; j++) { bool warning[1000000]={false}; for(int k=0; k<m; k++) { priorvalue=100000000; for(int l=0; l<n; l++) { if(start[l]<=j && meta[l]>j && warning[l]==false && czas[l]>0) { int prior=meta[l]-czas[l]-j; if(prior<priorvalue){priorvalue=prior; priorindex=l;} } } if(priorvalue!=100000000) { if(priorvalue<0){wynik=false; k=m; j=metamax;} czas[priorindex]--; warning[priorindex]=true; //cout<<priorindex<<endl; //q.push_back(priorindex); } } //array.erase(warning); } for(int o=0; o<n; o++) { if(czas[o]>0){wynik=false;} } if(wynik==false){cout<<"NIE"<<endl;} if(wynik==true){cout<<"TAK"<<endl;} //system ("PAUSE"); return 0; } |