#include #include #include using namespace std; int N,M; long A[1<<17]; vectorW[1<<17]; bool ok(long c) { long B[1<<17]; priority_queueP; long Ps=0; for(int i=0;i>N>>M; for(int i=0;i>A[i]; for(int i=0;i>x>>w; W[x-1].push_back(w); } int L=-1,R=1e5; if(!ok(R))R=-1; while(R-L>1) { int M=(L+R)/2; if(ok(M))R=M; else L=M; } cout<