Lang:GCC
Edit12345678910111213141516171819202122232425262728293031#include<stdio.h>int N,M,H,R;int now;int disk[2][100010];int max;int merge(int x,int a,int n){int i,j,k,l;int a1,a2,n1,n2,y;/*for(i=0;i<n;i++)printf("%d ",disk[x][a+i]);printf("\n");//*/if(n==2){y=1-x;if(disk[x][a]<disk[x][a+1]){disk[y][a]=disk[x][a];disk[y][a+1]=disk[x][a+1];}else{disk[y][a]=disk[x][a+1];disk[y][a+1]=disk[x][a];}}else if(n==3){y=1-x;disk[y][a]=disk[x][a];if(disk[y][a]>disk[x][a+1])disk[y][a]=disk[x][a+1];