简单的判断符不符合条件而已,看题比较累。。。
在最后一站时注意不能上人也不能有乘客留着
#include <iostream>
using namespace std;
int main()
{
int num=0;
int all,sta;
cin >> all >> sta;
bool check=false;
for(int i=0; i < sta; ++i){
int left,enter,stay;
cin >> left >> enter >> stay;
if(check) continue;
else{
if(left > num) check=true;
if(enter+num-left > all&&check==false) check=true;
if(stay > 0 && enter+num-left < all&&check==false) check=true;
if(i==sta-1&&check==false){
if(enter>0&&check==false) check=true;
if(num-left > 0&&check==false) check=true;
}
}
num=num-left+enter;
}
if(check) cout << "impossible" << endl;
else cout << "possible" << endl;
}