点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

讨论 Discussion
 
1
1

( 2017/5/23 16:25:16 )

2
2
( )
2
2
( )
g
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<memory.h>
using namespace std;
bool find(int a[],int x,int y,int z);
void quicksort(int a[],int x,int y);
int b[50001];
int main(){
int i=0,j=0,k=0,km=0,a[50001],n,max=0,c[100001],t;
cout<<"请输入玩家人数:";
cin>>n;
for(i=0;i<n;i++) {
  cin>>a[i];
  c[i]=a[i];
  system("cls");
  b[i]=i+1;
}
quicksort(a,0,n-1);
for(i=0;i<n-2;i++){
for(j=n-1;j>=i+2;j--){
k=a[i]-a[j];
km=find(a,i+1,j-1,k);
 if (km>0){km=b[i] ;break;}


}
if(km>0)break;
}
cout<<km<<endl;
for(i=0;i<n;i++)cout<<c[i]<<" ";  
return 0;
}
bool find(int a[],int x,int y,int z){
int m=(x+y)/2;

 if(x>y) return 0;
else{
if(a[m]==z) return m;
if(z>a[m]) return find(a,x,m-1,z);
if(z<a[m]) return find(a,m+1,y,z);

}
}
void quicksort(int a[],int x,int y){
if(x>=y) return;
int i=x,j=y,k=a[(i+j)/2];
while(i<j){
while(a[i]>k) i++;
while(a[j]<k) j--;
if(i<=j){
int k=a[i];
a[i]=a[j];
a[j]=k;
k=b[i];
b[i]=b[j];
b[j]=k;
i++;
j--;
}
}
if(x<j) quicksort(a,x,j);
if(i<y) quicksort(a,i,y);
}


( )
发布讨论主题 回复讨论主题
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1242 | Online Users / Processes : 0 / 75 | Processed Time : 46 ms | Server Time : 2025/4/27 2:19:33