#include using namespace std; const int nmax=1e5+42; int n,m,a,b; pair inp[nmax]; long long score=0; vector outp; bool been[nmax]; set in={}; void easy_greedy() { for(int i=1;i<=n;i++)in.insert(i); sort(inp+1,inp+n+1); pair cur={0,1*b}; int id=0; for(int i=1;i<=m;i++) { int best=-1; long long dist=1e18; set::iterator where=in.lower_bound(id); set::iterator now=where; while(now!=in.end()) { int j=*now; long long d=abs(cur.first-inp[j].first)+abs(cur.second-inp[j].second); if(d "<=dist)break; now++; } now=where; while(1) { int j=*now; long long d=abs(cur.first-inp[j].first)+abs(cur.second-inp[j].second); if(d "<=dist)break; if(now==in.begin())break; now--; } score+=dist; been[best]=1; outp.push_back(inp[best].second/b); cur=inp[best]; id=best; //cout<