#include using namespace std; using namespace __gnu_cxx; int lower_bound(rope v,long long k){ int N=(int)(v.size()); if(N==0){ return 0; } //k<=v[i]であるような最小のi //存在しない場合はNを返す //O(|v|log^2|v|) if(v[N-1]1){ int m=(l+r)/2; if(k<=v[m]){ r=m; continue; } l=m; } return r; } int main(){ int N,Q; scanf("%d%d",&N,&Q); rope A; for(int i=0;i> B;//indexを保存 queue C;//valueを保存 for(int i=0;i