#include #include #include struct crystal{ int x; int y; int c; int safe; }; using namespace std; int Gx,Gy; int N,F; int main(){ cin >> Gx >> Gy >> N >> F; vector vec; int mx,my,mc,safe; for(int i = 0; i < N; i++){ cin >> mx >> my >> mc; if((mx+my)*F > mc){ safe = (mx+my)*F-mc; vec.push_back({mx,my,mc,safe}); }//歩くよりもコストが少ない } sort(vec.begin(),vec.end(), [](crystal& a,crystal& b) { return (a.safe < b.safe); }); /* for(auto e: vec){ << e.x << "," << e.y << "," << e.c << "," << e.safe<