// cipin.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
//只可读取纯中文文档
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <time.h>
using namespace std;
//程序成功测试完毕,测试时只需通过修改
//最大测试:alength=200000;此时程序运行时间:约8分钟
//程序运行到的位置:禁陌清,大约读取了文档一半的内容
//全局变量
const long alength=100,mincipin=1,maxnum=100;
const int dancil=1;
int b[maxnum];
//全局变量
/**********快速排序算法**********/
int partion(int a[],int p,int r){
//rand
srand((unsigned)time( NULL));
int e=rand()%(r-p+1)+p;
int tem,tem2;
tem=a[e];
a[e]=a[r];
a[r]=tem;
tem2=b[e];
b[e]=b[r];
b[r]=tem2;
int x=a[r], i=p-1;
for (int j=p;j<r;j++){
if (a[j]<=x){
tem=a[i+1];
a[i+1]=a[j];
a[j]=tem;
tem2=b[i+1];
b[i+1]=b[j];
b[j]=tem2;
i++;
}
}
tem=a[r];
a[r]=a[i+1];
a[i+1]=tem;
tem2=b[r];
b[r]=b[i+1];
b[i+1]=tem2;
return i+1;
}
void QuickSort(int a[],int p,int r){
if (p<r){
int q=partion(a,p,r);
QuickSort(a,p,q-1);
QuickSort(a,q+1,r);
}