| |
1
|
想要题解?没门!!!!!!!!!!!!!!
真没有
别看了!!!
SB
想要题解?没门!!!!!!!!!!!!!!
真没有
别看了!!!
SB
想要题解?没门!!!!!!!!!!!!!!
真没有
别看了!!!
SB
想要题解?没门!!!!!!!!!!!!!!
真没有
别看了!!!
SB
想要题解?没门!!!!!!!!!!!!!!
真没有
别看了!!!
SB
( 2026/4/8 11:57:53 ) |
|
#include<bits/stdc++.h>
#include<vector>
using namespace std;
void f(int b[],int l,int m,int r){
int a1=m-l+1,a2=r-m;
int c[a1],d[a2];
for(int i=0;i<a1;i++)c[i]=b[l+i];
for(int j=0;j<a2;j++)d[j]=b[m+1+j];
int i=0,j=0,k=l;
while(i<a1&&j<a2){
if(c[i]<=d[j])b[k]=c[i++];
else b[k]=d[j++];
k++;
}
while(i<a1)b[k++]=c[i++];
while(j<a2)b[k++]=d[j++];
}
void fSort(int b[],int l,int r){
if(l<r){
int m=l+(r-l)/2;
fSort(b,l,m);
fSort(b,m+1,r);
f(b,l,m,r);
}
}
int main(){
freopen("p1057.in","r",stdin);
freopen("p1057.out","w",stdout);
int n,i;
cin>>n;
int* a=new int[n];
for(i=0;i<n;i++)cin>>a[i];
fSort(a,0,n-1);
int p=a[1];cout<<p<<endl;
for(int i=1;i<n;i++)
if(a[i]!=p){cout<<a[i]<<endl;p=a[i];}
delete[] a;
fclose(stdin);
fclose(stdout);
return 0;
}
( ) |
吴一鸣SB |
#include<bits/stdc++.h>
#include<vector>
using namespace std;
void f(int b[],int l,int m,int r){
int a1=m-l+1,a2=r-m;
int c[a1],d[a2];
for(int i=0;i<a1;i++)c[i]=b[l+i];
for(int j=0;j<a2;j++)d[j]=b[m+1+j];
int i=0,j=0,k=l;
while(i<a1&&j<a2){
if(c[i]<=d[j])b[k]=c[i++];
else b[k]=d[j++];
k++;
}
while(i<a1)b[k++]=c[i++];
while(j<a2)b[k++]=d[j++];
}
void fSort(int b[],int l,int r){
if(l<r){
int m=l+(r-l)/2;
fSort(b,l,m);
fSort(b,m+1,r);
f(b,l,m,r);
}
}
int main(){
freopen("p1057.in","r",stdin);
freopen("p1057.out","w",stdout);
int n,i;
cin>>n;
int* a=new int[n];
for(i=0;i<n;i++)cin>>a[i];
fSort(a,0,n-1);
int p=a[1];cout<<p<<endl;
for(int i=1;i<n;i++)
if(a[i]!=p){cout<<a[i]<<endl;p=a[i];}
delete[] a;
fclose(stdin);
fclose(stdout);
return 0;
}
( ) |
吴一鸣大SB |
#include<bits/stdc++.h>
#include<vector>
using namespace std;
void f(int b[],int l,int m,int r){
int a1=m-l+1,a2=r-m;
int c[a1],d[a2];
for(int i=0;i<a1;i++)c[i]=b[l+i];
for(int j=0;j<a2;j++)d[j]=b[m+1+j];
int i=0,j=0,k=l;
while(i<a1&&j<a2){
if(c[i]<=d[j])b[k]=c[i++];
else b[k]=d[j++];
k++;
}
while(i<a1)b[k++]=c[i++];
while(j<a2)b[k++]=d[j++];
}
void fSort(int b[],int l,int r){
if(l<r){
int m=l+(r-l)/2;
fSort(b,l,m);
fSort(b,m+1,r);
f(b,l,m,r);
}
}
int main(){
freopen("p1057.in","r",stdin);
freopen("p1057.out","w",stdout);
int n,i;
cin>>n;
int* a=new int[n];
for(i=0;i<n;i++)cin>>a[i];
fSort(a,0,n-1);
int p=a[1];
cout<<p<<endl;
for(i=1;i<n;i++)
if(a[i]!=p){cout<<a[i]<<endl;p=a[i];}
delete[] a;
fclose(stdin);
fclose(stdout);
return 0;
}
( ) |
|