#include#include struct pos{ int id; int data; int pre; }; struct pos p[10000000]; int write(int id,int l,int r,int x){ int i; for(i=l;i<=r;i++){ if(p[i].id==0||p[i].id==id){ p[i].id=id; p[i].data=x; }else{ break; } } if(i==l){ return -1; }else{ return i-1; } } int deletes(int id,int l,int r){ int i; for(i=l;i<=r;i++){ if(p[i].id==id){ continue; }else{ break; } } if(i>r){ for(i=l;i<=r;i++){ p[i].id=0; p[i].pre=id; } return 1; } return 0; } int recover(int id,int l,int r){ int i; for(i=l;i<=r;i++){ if(p[i].id==0&&p[i].pre==id){ continue; }else{ break; } } if(i>r){ for(i=l;i<=r;i++){ p[i].id=id; } return 1; } return 0; } int read(int pos){ if(p[pos].id){ return 1; } return 0; } int main(){ int n,m,k,i; scanf("%d%d%d",&n,&m,&k); for(i=0;i



