#include<iostream>
#include<algorithm>
using namespace std;
void main(){
int r=rand()%21;
arr[i]=r;
int p1=0,p2=i-1;
while(p1<p2)
count++;
if(arr[p1+1]==arr[p1]){
while(arr[p1+1]==arr[p1]){
p1++;
count++;
}}
else if(arr[p2-1]==arr[p2]){
while(arr[p2-1]==arr[p2]){
p2--;
count++;
}
p1++;p2--;
p1++;
}
cout<<count<<endl;
}
#include<algorithm>
using namespace std;
void main(){
int arr[40];
//和为0的数对个数
int count=0;
//生成数组
for(int i=0;i<40;i++){int r=rand()%21;
arr[i]=r;
}
//排序数组
sort(arr,arr+i);int p1=0,p2=i-1;
while(p1<p2)
{
//找到=0的数对时遍历相邻的相同数对
if(arr[p1]+arr[p2]==10){count++;
if(arr[p1+1]==arr[p1]){
while(arr[p1+1]==arr[p1]){
p1++;
count++;
}}
else if(arr[p2-1]==arr[p2]){
while(arr[p2-1]==arr[p2]){
p2--;
count++;
}
p1++;p2--;
}}
//<10,低位指针+1
else if(arr[p1]+arr[p2]<10){p1++;
}
//>10,高位指针-1
}
cout<<count<<endl;
}